Ich möchte einen Ausdruck, der fehlschlägt, wenn Wörter wie "boon.ini" und "http" gefunden werden. Das Ziel wäre, diesen Ausdruck zu nehmen und für jeden Satz von Schlüsselwörtern konstruieren zu können.Regulärer Ausdruck zum Ausschließen von Schlüsselwörtern
Antwort
^(?:(?!boon\.ini|http).)*$\r?\n?
(von RegexBuddy ‚s Bibliothek genommen) wird jede Linie entsprechen, die nicht boon.ini und/oder http enthält. Ist es das was du wolltest?
Anstatt das Ergebnis innerhalb des Ausdrucks zu negieren, sollten Sie dies in Ihrem Code tun. Auf diese Weise wird der Ausdruck ziemlich einfach.
\b(boon\.ini|http)\b
Würde wieder true
wenn boon.ini oder http überall in Ihrem String ist. Es wird Wörter wie httpd oder httpxyzzy wegen der \b
oder Wortgrenzen nicht übereinstimmen. Wenn du willst, kannst du sie einfach entfernen und es wird auch mit ihnen übereinstimmen. Fügen Sie weitere Pipes hinzu, um weitere Keywords hinzuzufügen.
\b(boon\.ini|http|foo|bar)\b
Sie könnten gut bedient werden, indem Sie eine Regex schreiben, die erfolgreich, wenn es die Wörter, die Sie suchen, und dann die Bedingung invertieren.
Zum Beispiel in Perl werden Sie verwenden:
if (!/boon\.ini|http/) {
# the string passed!
}
Welche Sprache/regexp-Bibliothek? Ich dachte, Sie war um ASP.NET in Frage, in dem Fall, dass Sie die „negative lookhead“ Abschnitt dieses Artikels sehen: http://msdn.microsoft.com/en-us/library/ms972966.aspx
Streng genommen Negation eines regulären Ausdrucks definiert noch eine reguläre Sprache, aber es gibt nur sehr wenige Bibliotheken/Sprachen/Werkzeug, das es ausdrücken kann.
Negative Lookahed kann Ihnen das gleiche dienen, aber die tatsächliche Syntax hängt davon ab, was Sie verwenden. Tims Antwort ist ein Beispiel mit (?...)
Einem alternativen Ausdruck, der verwendet werden könnte:
^(?!.*IgnoreMe).*$
^
= gibt den Beginn der Zeile
$
= zeigt das Ende der Zeile
(?! Expression)
= Null anzeigt Breite Blick Vorne negative Übereinstimmung über den Ausdruck
Die ^
an der Vorderseite ist erforderlich, sonst bei der Auswertung der negativen aussehen ahe Die Anzeige könnte von irgendwo innerhalb des/jenseits des 'IgnoreMe'-Textes starten - und eine Übereinstimmung herstellen, wo Sie sie auch nicht möchten.
z.B. Wenn Sie die regex verwenden:
(?!.*IgnoreMe).*$
Mit dem Eingang „Hallo IgnoreMe Bitte“, führt dies wird in so etwas wie: „gnoreMe Bitte“, wie der negativen Vorgriff findet, dass es keine vollständige Zeichenfolge ‚IgnoreMe‘ nach das i'.
^[^£]*$
Der obige Ausdruck beschränkt nur das Pfund-Symbol von der Zeichenfolge. Dies ermöglicht alle Zeichen außer Zeichenfolge.
ich verwendet, um dieses (basierend auf Tim Pietzcker Antwort) auf nicht-Produktion Sub-Domain-URLs für Google Analytics-Profil Filter ausschließen:
^\w+-*\w*\.(?!(?:alpha(123)*\.|beta(123)*\.|preprod\.)domain\.com).*$
Sie den Kontext hier sehen können: Regex to Exclude Multiple Words
- 1. Regulärer Ausdruck zum Ausschließen der Teilzeichenfolge
- 2. Regulärer Ausdruck zum Anpassen "|"
- 3. Regulärer Ausdruck zum Abrufen von Tags
- 4. Regulärer Ausdruck zum Analysieren von Mailing-Adressen
- 5. Regulärer Ausdruck zum Extrahieren von POP3-Header
- 6. Regulärer Ausdruck zum Auswählen von Wiederholungsgruppen
- 7. Regulärer Ausdruck zum Ausrichten von Text
- 8. Regulärer Ausdruck zum Extrahieren Argument
- 9. Regulärer Ausdruck zum Analysieren von Visual Studio-Fehlermeldungen
- 10. Regulärer Ausdruck zum Extrahieren von Operanden aus mathematischem Ausdruck
- 11. regulärer Ausdruck und Schrägstrich
- 12. Regulärer Ausdruck
- 13. Regulärer Ausdruck zum Finden eines regulären Ausdrucks?
- 14. Regulärer Ausdruck zum Formatieren bestimmter Textzeilen
- 15. regulärer Ausdruck zum Aufteilen der Suchphrase
- 16. Regulärer Ausdruck zum Ändern der Benutzereingabe
- 17. komplexer regulärer Ausdruck Frage zum Stop Set
- 18. Regulärer Ausdruck zum Teilen dieser Zeichenfolge
- 19. Regulärer Ausdruck zum Validieren des Datums - C#
- 20. Regulärer Ausdruck zum Entkommen n # außer 2 #
- 21. Regulärer Ausdruck
- 22. Regulärer Ausdruck zum Ändern der Delegatensyntax in Lambda-Ausdruck?
- 23. Regulärer Ausdruck Muster (URL)
- 24. Regulärer Ausdruck in Java
- 25. Regulärer Ausdruck Kombination von Quantifikatoren *?
- 26. Regulärer Ausdruck Quiz
- 27. RegEx zum Ausschließen einer bestimmten Zeichenkettenkonstante
- 28. Regulärer Ausdruck Problem
- 29. Python. Regulärer Ausdruck
- 30. Regulärer Ausdruck zum Ersetzen von Nicht-Alpha-Zeichen durch Leerzeichen