Seite 1 von 2
					
				Vorschlag: Sammelthread für Reguläre Ausdrücke
				Verfasst: 25.05.2008 16:54
				von ThoPie
				Was haltet ihr davon, einen Sammelthread für diverse reguläre Audrücke für die RegularExpression-Library anzulegen (E-Mail, Sozialversicherungsnummer, ISBN-Nummer etc.)? So muss nicht jeder das Rad noch einmal neu erfinden.
			 
			
					
				
				Verfasst: 25.05.2008 17:04
				von STARGÅTE
				kannst du doch anlegen, hindert dich doch keiner dran.
Obwohl man diese Teile ja Googlen kann, und am Syntax der reguläre Audrücke ändert sich ja nix, egal ob php, pb uder sonst was...
Ich persönlich kanns noch nicht gebrauchen weil man keinen zugriff auf die gespeicherten Bereiche hat, also bis jetzt nur das Abfragen gut geht, aber nicht das ersetzen
			 
			
					
				
				Verfasst: 25.05.2008 18:33
				von AND51
				Wir können diesen Thread ja benutzen, um nach speziellen Ausdrücken zu fragen. Andere können dann hier die Lösung posten und wiederum andere können sich in diesem Archiv bedienen und Lösungen suchen.
Aus dem Stand wüsste ich keinen speziellen Ausdruck, ich denke, es kommt meistens auf die Situation an, was man gerade programmiert.
			 
			
					
				
				Verfasst: 25.05.2008 18:42
				von ts-soft
				> Aus dem Stand wüsste ich keinen speziellen Ausdruck
Feststellen ob es sich um eine PB-Procedure handelt, zum Beispiel.
Das Word Procedure??????, Name mit A oder _ ansonsten Aplhanum und Klammern
			 
			
					
				
				Verfasst: 25.05.2008 18:49
				von FGK
				Ich finde das ne ganz nette Idee mit der Sammlung, aber
würde das nicht speziell hier neu im Board aufrollen
Dazu gibts haufenweise Sites im Netz wie z.b. 
http://regexlib.com/Search.aspx
Da kann man nach regexp Ausdrücken suchen und da ist für jede Gelegenheit was mit dabei.
Gruß FGK
 
			 
			
					
				
				Verfasst: 25.05.2008 20:54
				von AND51
				ts-soft hat geschrieben:> Aus dem Stand wüsste ich keinen speziellen Ausdruck
Feststellen ob es sich um eine PB-Procedure handelt, zum Beispiel.
Das Word Procedure??????, Name mit A oder _ ansonsten Aplhanum und Klammern
Meinst du sowas?
Code: Alles auswählen
proc$+"Procedure.b HelloWorld(param1.l, text$)"+#CRLF$
proc$+"	Protected TrulyMadlyDeeply.s"
proc$+"	TrulyMadlyDeeply="+#DQUOTE$+"Cascada"+#DQUOTE$+#CRLF$
proc$+"	ProcedureReturn 1<<Random(31) : EndProcedure ; SOGAR KOMMENTARE DÜRFEN HIER NOCH STEHEN  "
keineProc$+"sinn=42 : Procedure.c myAsc(character.s) : ProcedureReturn Asc(caharacter) ::EndProcedure : nochMehr=Code+ZumTesten"
Procedure.l isCodeAPBProcedure(code$)
	Static expression.l
	If Not expression
		expression=CreateRegularExpression(#PB_Any, "(?s)^\s*Procedure(|(|C)DLL|C)(|\.[a-zA-Z_]\w*) +[a-zA-Z_]\w*\(.*\)(\:|.+).*(\:|\s*)EndProcedure\s*(|\;.*\s*)$")
	EndIf
	ProcedureReturn MatchRegularExpression(expression, code$)
EndProcedure
Debug isCodeAPBProcedure(proc$)
Debug isCodeAPBProcedure(keineProc$)
Prüft, ob der übergebene Text eine Procedure in PB-Syntax ist.
Soll ich die einzelnen Teile des RegExp erläutern? Mach ich gern. 

 
			 
			
					
				
				Verfasst: 25.05.2008 21:00
				von ts-soft
				> Soll ich die einzelnen Teile des RegExp erläutern?
Nein, da der Code die Aufgabe nicht erfüllt. ProcedureDLL wird zum Beispiel
nicht als Procedure erkannt. Fehlt wohl noch ne Menge  

 
			 
			
					
				
				Verfasst: 25.05.2008 21:29
				von edel
				
			 
			
					
				
				Verfasst: 25.05.2008 21:29
				von AND51
				ne Menge fehlt nicht, ich habe schon berücksichtigt, dass eine prozedur so sein kann:
aber auch so
Code: Alles auswählen
             Procedure.b            WasGanzLanges_(param, OptionalerParam$="()/&&,"):LOL=42
; nix besonderes
               result=45:ProcedureReturnresult:::::EndProcedure
Gibt's nochwas, was ich vergessen habe? Ich rüste meinen Code nach.
 
			 
			
					
				
				Verfasst: 25.05.2008 21:31
				von edel
				eine procedure muss immer mit endprocedure enden, daher reicht es wenn 
du nur die erste Zeile ueberpruefst