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
4
A
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:
Verwandte Themen
- 1. Regulärer Ausdruck
- 2. Regulärer Ausdruck
- 3. Regulärer Ausdruck, um keine Leerzeichen in der E-Mail zuzulassen
- 4. C# regulärer Ausdruck arbeitet
- 5. Regulärer Ausdruck: Mehrere Wörter zusammenpassen
- 6. Regulärer Ausdruck gegenüber
- 7. Regulärer Ausdruck "UND"
- 8. Regulärer Ausdruck (Glob) Suchbaum
- 9. Regulärer Ausdruck Übereinstimmung
- 10. Regulärer Ausdruck weitere Überprüfung
- 11. Regulärer Ausdruck, der Ganzzahlen und Null akzeptiert
- 12. Regulärer Ausdruck Matching Prolog
- 13. Einfacher Ausdruck regulärer Ausdruck (Regex) (.net)
- 14. Python string.replace regulärer Ausdruck
- 15. Regulärer Ausdruck für Attributwert
- 16. Regulärer Ausdruck/String split
- 17. Fehler in Regulärer Ausdruck
- 18. Regulärer Ausdruck Implementierungsdetails
- 19. regulärer Ausdruck für DOT
- 20. JavaScript regulärer Ausdruck (Seitenbereichsüberprüfung)
- 21. Regulärer Ausdruck für java.util.regex.Pattern
- 22. Regulärer Ausdruck Fehlermeldung
- 23. Java regulärer Ausdruck übereinstimmen
- 24. Regulärer Ausdruck NIC
- 25. PHP Regulärer Ausdruck
- 26. Regulärer Ausdruck Problem
- 27. Komplexer regulärer Ausdruck
- 28. Regulärer Ausdruck Verwirrung
- 29. Regulärer Ausdruck zum Anpassen "|"
- 30. Regulärer Ausdruck: Numerischer Bereich
Lookaheads * sind * non-capturing. Suchst du vielleicht nach * negativ * Lookahead? Das ist nur '(?! Foo)'. [ref] (http://www.regular-expressions.info/lookaround.html) –