Regex n'est pas égal à string
Je me tape la tête contre un mur avec une expression régulière. J'essaie de définir une expression qui exclut exactement ce texte 'System' (insensible à la casse), mais peut contenir le mot "Système" fournissant ce n'est pas seulement cela.
Exemples:
- Système = = invalide
- SYSTÈME = = INVALIDE
- Système = = invalide
- système = = invalide
- Système asd = = valide
- Système asd asd = = valide
- Système asd = = valide
- tsa Système == Valide
- tsa == Valide
23
demandé sur
Kieron
2010-06-03 13:26:40
3 réponses
Essayez ceci:
^(?!system$)
Ou ceci pour correspondre à la ligne entière:
^(?!system$).*$
La regex a une apparence négative à son début, ce qui ne correspond pas si "system" est la chaîne entière.
42
répondu
Kobi
2010-06-03 09:28:03
Rejeter s'il correspond à ^system$
(Assurez-vous que l'indicateur i
est activé).
4
répondu
Amarghosh
2010-06-03 09:29:36
^$|^.{1-5}$|.{7}|^[^s]|^.[^y]|^..[^s]|^...[^t]|[^e].$|[^m]$
Mais utilisez la réponse d'amarghosh si vous le pouvez.
(mis à jour selon la suggestion ci-dessous)
1
répondu
Steve Bennett
2010-06-03 22:21:07