Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: RegEx, Probleme mit Suchstring

  Alt 25. Apr 2014, 08:18
Lustig, wenn man das in den diversen online Regex Testern probiert, bekommt man alle möglichen Ergebnisse. RegEx ist implementierungsabhängig (na toll).

Ich glaube, RegEx sucht immer dem längsten Match. und der ist bei 'ABC.*' eben alles bis zum XYZ. Du willst ja keine Ziffern, also kannst Du auch nach 'ABC[^0-9]*(\d*).*XYZ' suchen. Das sollte dann auch funktionieren. Das '?' könnte diesem Bestreben (suche längsten Match) einen Strich durch die Rechnung machen (lazy vs. greedy search).
Allerdings würde ich das von mir vorgeschlagene Pattern verwenden, weil es eindeutiger beschreibt, was Du willst. Wer weiss, wenn Emba irgendwann meint, das ihr Regex(ist das von denen?) nicht kompatibel zu anderen ist, schreiben die das vielleicht sogar mal richtig/anders und dann hilft dir dein Workaround vielleicht auch nicht mehr.

Mein Favorit: http://regex101.com

Da versteht man gleich, was das ? bedeutet.
  Mit Zitat antworten Zitat