FbmRegExReplace funktioniert nicht wie erwartet
-
-
Hallo,
ich habe das Problem in den internen Bug-Tracker aufgenommen.
Was genau hast du denn vor? Eventuell fällt mir (oder jemand anderem) ein anderer Weg ein.
-
Hallo,
ich hätte noch eine kleine Frage: Der Bug ist denke ich Serverseitig und wir für Hostingkunden dann im "Hintergrund" gefixt oder liege ich da falsch?
-
Hallo,
da liegst du vollkommen richtig. Allerdings dauert es natürlich immer etwas, bis solche Fehlerbehebungen dann im Live-System ankommen.
Das Problem hängt übrigens damit zusammen, dass immer nur der erste Match ersetzt wird. Durch eine kleine Erweiterung des RegEx kann man das Problem also meist umschiffen.
-
Hallo,
ich habe schon wieder ein Problem mit der Funktion FbmRegExReplace.
Der reguläre Ausdruck funktioniert laut dem Regex Editor wie gewollt .
Das Problem ist aber, dass in die Variable sEjEmail der komplette emailText geschrieben wird und eben nicht nur die gematchte email Adresse.Build 1326
-
Hallo,
das liegt daran, dass FbmRegExReplace eine Ersetzung durchführt. Bei der Ersetzung einer Zeichenkette, durch eine andere mit ganz normalen String-Replace Funktionen, sieht das ja auch so aus:
Um das gewünschte Ergebnis zu erreichen, kann man aber den Ausdruck wie folgt verändern:
Ab der GREYHOUND Version build 1350 gibt es übrigens auch die Funktion FbmRegExExtract welche für das gewünschte Verhalten (Zeichenkette per RegEx extrahieren) gedacht ist. Hier kann auch ein Fallback angegeben werden, wenn die Zeichenkette nicht gefunden werden kann. -
Ab der GREYHOUND Version build 1350 gibt es übrigens auch die Funktion FbmRegExExtract welche für das gewünschte Verhalten (Zeichenkette per RegEx extrahieren) gedacht ist. Hier kann auch ein Fallback angegeben werden, wenn die Zeichenkette nicht gefunden werden kann.
In der verlinkten Doku steht im Quelltextbeispiel allerdings FbmRegExReplace statt FbmRegExExtract. Der Rest stimmt aber.
-
Sowas aber auch... Ist korrigiert, danke für den Hinweis.