Ich versuche eine Erfassungsgruppe nur zu akzeptieren, wenn das Muster übereinstimmt und vor dem Ende der Gruppe kein bestimmtes Wort vorhanden ist. Ich habe eine Anzahl der Ansätze ausprobiert und keiner scheint zu arbeiten, klar bin ich nicht, das Konzept bekommen:Negative Zusicherung für Ende der Zeichenfolge beheben
https://regex101.com/r/iP2xY0/3 https://regex101.com/r/iP2xY0/4
Unabhängig davon, was ich tun, um meine Capture-Gruppe etwas und mein Ziel erfasst, wenn die In der Mitte des Musters gibt es ein Abweisungswort, um keine Übereinstimmung zurückzugeben.
RC:\*.*?(?P<Capture>(Bob|David|Ted|Alice))(?!Reject).*
- RC: * Hallo Bob Smith < \ Person>
- RC: * Hallo David Jones * Hinweise Bla bla < \ Person>
- RC: * Hallo Ted Warren * Abgelehnt < \ Person >
Capture-Namegrouop wird zurückkehren soll:
- Bob
- David
- ''
So "Ablehnen" sagt, wenn die NameGroup Erfassung von irgendetwas gefolgt endet in <
Capture gefunden wird, wenn zwischen dem NameGroup und dem < das Wort Reject
erscheint tun nicht.
https://regex101.com/r/iP2xY0/5, die nur ablehnen –
@be_good_do_good Danke. Was ich suche, ist jedoch die Übereinstimmung von 'Bob' in String1,' David' in String2 und nichts in String3. – user3649739