Je veux une expression qui échouera quand elle rencontrera des mots tels que "boon.ini" et "http". Le but serait de prendre cette expression et être capable de construire pour n'importe quel ensemble de mots-clés.Expression régulière pour exclure un ensemble de mots-clés
Répondre
^(?:(?!boon\.ini|http).)*$\r?\n?
(tirée de la bibliothèque de RegexBuddy) correspondra une ligne qui ne contient pas boon.ini et/ou http. Est-ce ce que tu voulais?
Plutôt que de nier le résultat dans l'expression, vous devriez le faire dans votre code. De cette façon, l'expression devient assez simple.
\b(boon\.ini|http)\b
reviendriez true
si boon.ini ou http était partout dans votre chaîne. Il ne correspondra pas à des mots comme httpd ou httpxyzzy en raison des limites de mots \b
. Si vous le souhaitez, vous pouvez simplement les supprimer et cela correspondra également à ceux-ci. Pour ajouter plus de mots-clés, ajoutez simplement plus de tuyaux.
\b(boon\.ini|http|foo|bar)\b
vous pourriez être bien servi en écrivant une regex qui va réussir quand il rencontre les mots que vous recherchez, puis inverser la condition.
Par exemple, en Perl vous pouvez utiliser:
if (!/boon\.ini|http/) {
# the string passed!
}
Quelle bibliothèque langue/regexp? Je pensais que vous question portait sur ASP.NET dans ce cas, vous pouvez voir la section « lookhead négative » de cet article: http://msdn.microsoft.com/en-us/library/ms972966.aspx
négation à proprement parler d'une expression régulière, définit encore une langue régulière, mais il y a très peu de bibliothèques/languages / tool qui permettent de l'exprimer. Négatif lookahed peut vous servir le même mais la syntaxe réelle dépend de ce que vous utilisez. La réponse de Tim est un exemple avec (?...)
Une autre expression qui pourrait être utilisé:
^(?!.*IgnoreMe).*$
^
= indique le début de la ligne
$
= indique la fin de la ligne
(?! Expression)
= indique regard largeur zéro correspondance négative à l'avant sur l'expression
Le ^
à l'avant est nécessaire, sinon évalué le regard négatif L'annonce peut commencer quelque part dans/au-delà du texte "IgnoreMe" et faire une correspondance là où vous ne le souhaitez pas.
par exemple. Si vous utilisez l'expression régulière:
(?!.*IgnoreMe).*$
Avec l'entrée « Bonjour IgnoreMe S'il vous plaît », cela se traduira par quelque chose comme: « gnoreMe S'il vous plaît » comme le regard négatif trouve l'avance qu'il n'y a pas de chaîne complète « IgnoreMe » après le "je".
^[^£]*$
L'expression ci-dessus limitera uniquement le symbole dièse de la chaîne. Cela permettra à tous les caractères sauf la chaîne.
J'ai utilisé cette (fonction de la réponse Tim Pietzcker) pour exclure les URL de sous-domaine non-production pour les filtres de profil Google Analytics:
^\w+-*\w*\.(?!(?:alpha(123)*\.|beta(123)*\.|preprod\.)domain\.com).*$
Vous pouvez voir ici le contexte: Regex to Exclude Multiple Words
- 1. Expression régulière - exclure non nécessaire
- 2. Expression régulière pour trouver <% mais exclure <% @?
- 3. Expression régulière pour trouver une expression régulière?
- 4. Expression régulière pour l'hôte
- 5. expression régulière "contient" une autre expression régulière
- 6. Expression régulière pour réduire un cas
- 7. python expression régulière pour retweets
- 8. Expression régulière
- 9. Débutant: Expression régulière pour l'URL
- 10. expression régulière pour mot de passe
- 11. Trouver un littéral avec une expression régulière
- 12. Expression régulière remplacer
- 13. Expression régulière dans XSLT
- 14. Java Expression régulière Problème
- 15. Expression régulière question de regroupement
- 16. Expression régulière pour correspondre jusqu'à 10 chiffres
- 17. ANTLR Grammaire pour syntaxe Java Expression régulière
- 18. expression régulière pour analyser la chaîne d'option
- 19. Expression régulière en C
- 20. Besoin d'une expression régulière pour cette chaîne
- 21. Expression régulière pour valider l'heure valide
- 22. Monnaie britannique Expression régulière pour javascript
- 23. expression régulière simple remplacement
- 24. Expression régulière pour les objets HTML
- 25. Expression régulière Python pour l'analyse HTML (BeautifulSoup)
- 26. expression régulière pour les caractères non consécutifs
- 27. lookaround expression régulière
- 28. expression régulière dans asp.net
- 29. Expression régulière pour correspondre à 12 heures
- 30. Expression régulière en Flash