Je veux vérifier la phrase avec regex qui ne contient que des informations négatives. Donc si écris
^(?!My Words)$
et la chaîne de test est some characters
. Je m'attends à ce que la regex retourne true, mais ce n'est pas le cas. Devrait-il y avoir un personnage consommant Match Character pour effectuer le résultat?
Réponses:
2 pour la réponse № 1La regex que vous avez fournie signifie:
- Le début de la ficelle
- Les caractères suivants ne sont pas "Mes mots"
- La fin de la ficelle
Il n'y a pas de contrôle dans la regex qui indique que la chaîne doit en réalité contenir quoi que ce soit. Plus spécifiquement, il doit ne rien contenir. Dans ce cas, la prévision ne fait rien.
Vous voulez probablement quelque chose de plus semblable à ceci:
^(?!My Words).*$
le .*
est juste zéro ou plusieurs wild-cards, donc fondamentalement tout. Dans ce cas, l’anticipation empêche la chaîne de commençant par "Mes mots".
Si vous voulez empêcher "Mes mots" d'apparaître nulle part, quelque chose comme ça devrait marcher:
^(?!.*My Words).*$