PHPs preg_match() möchte ich aus Gründen der Praktikabilität nachbilden und kam bisher zu einem Quältext, dessen wesentlichen Teil (selbst lauffähig) ich hier wiedergebe:
Code: Alles auswählen
Dim Teile.s(30)
Dim Auflosung.s(30)
Declare.l PregMatch(Pattern.s, String.s, Array Arr.s(1))
i = 1
Teile(1) = "640x352 [SAR 16:11 DAR 320:121]"
PregMatch("([\d]+)\w([\d]+)", Teile(i), Auflosung())
PregMatch("(\d+)x(\d+)(\s.*)?", Teile(i), Auflosung())
PregMatch("(\d+)x(\d+)(\s+\[(SAR\s+[\d+]:[\d+])?(\s+DAR\s+[\d+]:[\d+])?\])?", Teile(i), Auflosung())
Procedure.l PregMatch(Pattern.s, String.s, Array Arr.s(1))
Define Erg.l
Erg = CreateRegularExpression(0, Pattern)
Debug "PregMatch(): Erg1="+Erg
If Erg
Erg = ExtractRegularExpression(0, String, Arr())
Debug "PregMatch(): Erg2="+Erg
FreeRegularExpression(0)
EndIf
For i=0 To ArraySize(Arr()) : Debug "Arr("+i+")="+Chr(34)+Arr(i)+Chr(34) : Next i
Debug ""
ProcedureReturn Erg
EndProcedure
Gruß
Domino