![]() |
Regulärer ausdruck gesucht
Manchmal tue ich mich mit regulären Ausdrücken schwer.
Ich suche in einem String nach _( es sei denn er enthält __( In diesem Text : _(Ich soll gefunden werden) __(Ich soll nicht gefunden werden) soll also die zweite Zeile nicht gefunden werden. Kann mir einer mit dem regulären Ausdruck auf die Sprünge helfen ? Das nicht bekomme ich über ^((?!__).)*$ hin und das suchen nach _( über _\( aber wie kombiniere ich die beiden ? |
AW: Regulärer ausdruck gesucht
.. wenn Du zwei Suchen nacheinander startest.
Zuerst suchst Du nach "__" ist das nicht enthalten suchst Du nach "_". Grüße Klaus |
AW: Regulärer ausdruck gesucht
Zitat:
Ist wirklich so wie in deinen beiden Beispielen dass die Zeilen immer mit einem Unterstrich beginnen, oder kann der zu findende Text auch mitten in einer Zeile stehen? Im ersten Fall gibt
Code:
einen Match auf die erste Zeile, aber nicht auf die zweite, und die capture group 1 enthält "Ich soll gefunden werden".
^_\(([^\)]+)
Falls der Text irgendwo innerhalb einer Zeile auftauchen kann wird es komplexer.Das hier scheint zu funktionieren:
Code:
Leider taucht der gefundene Text dann nicht immer in der gleichen capture group auf; wenn die zweite Bedingung den Match liefert ist die erste group leer und die zweite enthält den Text.
^_\(([^\)]+)|[^_]_\(([^\)]+)
|
AW: Regulärer ausdruck gesucht
[QUOTE=peterbelow;1435989]
Zitat:
Dein zweiter Fall war der den ich gesucht habe und er funktioniert perfekt. Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz