2012-03-25 5 views
4

Gibt es eine Möglichkeit, eine Lookahead-Assertion nicht zu erfassen? Dinge wie bar(?:!foo) und bar(?!:foo) funktionieren nicht (Python).Regulärer Ausdruck, der keine Lookahead-Assertion erfasst

+5

Lookaheads * sind * non-capturing. Suchst du vielleicht nach * negativ * Lookahead? Das ist nur '(?! Foo)'. [ref] (http://www.regular-expressions.info/lookaround.html) –

Antwort

2

Wenn Sie auf "Friseur" tun, wird "bar" zugeordnet, aber "ber" wird nicht erfasst.

1

Sie haben nicht auf Alans Frage geantwortet, aber ich nehme an, dass er korrekt ist und Sie sich für eine negative Vorausschau-Behauptung interessieren. IOW - Match 'Bar', aber nicht 'Barfoo'. In diesem Fall können Sie Ihre Regex wie folgt aufbauen: