Hilfe bei regulärem Ausdruck

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: Hilfe bei regulärem Ausdruck

Beitrag von rolaf »

CodeCommander hat geschrieben:
Derren hat geschrieben:
Bisonte hat geschrieben:@edel: Gut dass Du erwähnt hast, dass dafür PB5.3 gebraucht wird ;)
Habe 5.22 LTS und ExamineRegularExpression() ist keine Funktion bei mir... Du und Kiffi benutzt die Funktion aber. Irgendwas stimmt doch hier nicht...
Bisonte hat geschrieben:@edel: Gut dass Du erwähnt hast, dass dafür PB5.3 gebraucht wird ;)
Du brauchst dafür 5.30 um die Funktion nutzen zu können.
Hat schon einer erwähnt das dafür Version 5.3 benötigt wird? :lol:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
Tommy
Spassvogel
Beiträge: 319
Registriert: 17.10.2013 14:36

Re: Hilfe bei regulärem Ausdruck

Beitrag von Tommy »

Ich finde die Hausfrauenlogik besser und verständlicher und wartbarer und lesbarer und hübscher. :D
Man sieht die Abfrage und fertig und
man weiss was das genau bedeutet. Bei regex muss man jedes Mal genauer hinschauen und Gehirnschmalz und mehrere Minuten verschwenden um dann zu kappieren was das genau macht.
Is für mich Zeitverschwendung. Ausserdem sieht das kacke aus. :D
Derren: Bei mir meckert er nicht.
Es könnte sein das du noch 5.22 und nicht 5.30 hast.
Zuletzt geändert von Tommy am 27.01.2015 11:11, insgesamt 2-mal geändert.
PB 5.41 x64
Derren
Beiträge: 558
Registriert: 23.07.2011 02:08

Re: Hilfe bei regulärem Ausdruck

Beitrag von Derren »

Das hab ich mir schon gedacht. Mich hat Bisonte's Beitrag verwirrt. Denn er hat die Funktion ja selber benutzt und auch nicht erwähnt, dass man dafür die Beta 5.3 braucht^^
Signatur und so
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Hilfe bei regulärem Ausdruck

Beitrag von NicTheQuick »

Moment mal. Das geht doch erst mit 5.30, oder? :-?
Benutzeravatar
CodeCommander
Beiträge: 213
Registriert: 02.03.2014 16:06

Beitrag von CodeCommander »

Jap das geht erst mit 5.30.
Zuletzt geändert von CodeCommander am 18.01.2015 14:24, insgesamt 1-mal geändert.
~ DELETE ~
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Hilfe bei regulärem Ausdruck

Beitrag von edel »

Derren hat geschrieben:Das hab ich mir schon gedacht. Mich hat Bisonte's Beitrag verwirrt. Denn er hat die Funktion ja selber benutzt und auch nicht erwähnt, dass man dafür die Beta 5.3 braucht^^
Stimmt, ist uns gar nicht aufgefallen. Dann weiss ich aber auch nicht, was Bisonte uns damit sagen wollte ;)
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Hilfe bei regulärem Ausdruck

Beitrag von Bisonte »

edel hat geschrieben:Stimmt, ist uns gar nicht aufgefallen. Dann weiss ich aber auch nicht, was Bisonte uns damit sagen wollte ;)
Nun habt ihr es geschafft... nun weiss ich das auch nicht mehr :lol:
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Hilfe bei regulärem Ausdruck

Beitrag von Nino »

Der Vollständigkeit halber:
Bei PB-Versionen vor 5.30 geht das auch noch anders als mit ImportC usw., und zwar unter Verwendung von positive lookaround, d.h. (?<=...) und (?=...);
dann ExtractRegularExpression() benutzen.

Code: Alles auswählen

Define MeinString.s

MeinString + "" + #CRLF$
MeinString + "SchluesselWort(" + Chr(34) + "DasHierBraucheIch_1" + Chr(34) + ") ; evtl. ein Kommentar" + #CRLF$
MeinString + "  SchluesselWort(" + Chr(34) + "DasHierBraucheIch_2" + Chr(34) + ")" + #CRLF$
MeinString + "; SchluesselWort(" + Chr(34) + "DasHierBraucheIch_3" + Chr(34) + ")" + #CRLF$
MeinString + "  ; SchluesselWort(" + Chr(34) + "DasHierBraucheIch_4" + Chr(34) + ") ; evtl. ein Kommentar" + #CRLF$
MeinString + "" + #CRLF$

If CreateRegularExpression(0, "(?<=[\s*][^\S]SchluesselWort\(" + Chr(34) + ").*?(?=" + Chr(34) + "\))", #PB_RegularExpression_MultiLine | #PB_RegularExpression_NoCase)
   Dim Result$(0)
   n = ExtractRegularExpression(0, MeinString, Result$())
   For i = 0 To n-1
      Debug Result$(i)
   Next   
Else
   Debug "Error"
EndIf
Antworten