2016-09-27 2 views
0

Gibt es eine Regex, die
haha ​​fooblababla Spiele
und entspricht nicht
haha ​​fooblabarbla
Regex Teile Linie zu entsprechen und die negative Referenz, um den Rest der Zeile (kein Wort übereinstimmen)

Weil ich für ... foo suchen ... und wollen nicht haben ... bar ... überall nach dem ... foo ...

haha und bla symbolisieren Müll/Lärm.

UPDATE: Zuerst habe ich versucht, mit

foo.*(?!bar) 

-> wurde nicht erfolgreich

+0

Sicherlich Sie eine negative Vorschau verwenden können. Was ist dein Regex-Geschmack? –

+0

Ich frage, was der Geschmack ist, weil es passiert, dass Leute ihre Fragen mit Regex-Negation und Regex-Lookarounds Tags auf der Suche nach einem RE2 (Google Analytics, zB) kompatiblen Regexs, wo man nicht Lookarounds verwenden kann taggen. –

+0

Ich würde sagen, dass "normale" Regex-es - das heißt, dass Lookarounds verfügbar sind - der Standard in Fragen sind. Wenn jemand eine RE2-Lösung benötigt, sollte er einen Hinweis darauf geben, dass dies ein Sonderfall ist. – user1414745

Antwort

0
foo(?!.*bar) 
  • foo - Spiel foo
  • (?!) - das ist nicht folgt von
  • bar-bar
  • .* - mit einem beliebigen Anzahl von Zeichen zwischen
+0

Also, was ist, wenn der Motor RE2 ist? –

+1

@ WiktorStribiżew, nach OP-Reaktion - es ist nicht. – ndn

+0

Es ist nicht RE2, ich kann Lookarrounds machen. Danke, ich habe mich gefragt, wo ich den '. * 'Teil ablegen soll. Ich habe 'foo. * (?! bar) probiert, was nicht funktioniert hat. Ich habe nicht gemerkt, dass ich '. *' Im negativen Lookahead verwenden kann. – user1414745

Verwandte Themen