Erstmal kommt es drauf an, wass für eine Implementation der Regulären Ausdrücke du hast,
denn da unterscheiden sich einige Dinge Grundlegend, bzw. einige Sachen sind nicht überall möglich.
z.B. die Kommentare im RegEx.
#...
wird hier nicht unterstützt, sondern
(?#...)
und selbst wenn # als Kommentar ginge, dann fehlt dahinter der Zeilenumbruch (#10, #13#10, bzw. sLineBreak) als Ende des Kommentars, was in deinem "einen" String nicht enthalten ist.
https://regex.sorokin.engineer/de/la....html#comments
Aber hier kanns die Kommentare ja auch einfach ins Pascal/Delphi hier \\ verschieben.
Delphi kennt leider keine MultiLine-Strings, da muß man die Zeilenumbrüche eben selbst machen.
Und dann wird bei einigen Libs mit einem Start-/Ende-Zeichen gearbeitet und dahinter in den RegEx die Modifier.
Wie bei deiner Vorlage
/.../x
, während Andere das nicht haben (z.B. TRegEx im Delphi), wo die Modifier als Enum in einem eigenen Parameter übergeben werden.
Da hier "Modifier urecognized" als Fehler kommt, müsste für dein TRegExpr in den RegEx-String also sowas mit rein. (in die "neue" Delphi-Implementation
TRegEx aber nicht)
Auch Leerzeichen/Zeilenumbrüche, da kommt es auf die Konfiguration/Modifierer drauf an, ob sie "ignoriert" oder als "Suchstring" mit behandelt werden.
In den Delphiimplementationen ist eigentlich Letzteres meistens der Standardfall, außer man gibt den entsprechenden Modifier an.
Hier ist es der Modifier
x
(eXtended).