Si je veux vérifier tous les mots contenant la sous-chaîne DEF, est-ce la bonne approche?
^.*[D][E][F].*$
Existe-t-il également une règle simple lors de la négation des expressions rationnelles, c’est-à-dire la modification de ce qui précède pour identifier les chaînes qui ne contiennent pas DEF?
EDIT: Je sais que cela ne nécessite pas de regex, mais pour mes besoins, il le fait.
Cela fonctionne aussi:
^.*DEF.*$
Il vérifie si toute la chaîne contient la sous-chaîne "DEF" au moins une fois. Mais pour des expressions triviales comme celle-ci:
str.contains("DEF");
fait la même chose.
Pourquoi ne pas simplement utiliser str.contains("DEF")
et !str.contains("DEF")
?
Vous pouvez simplement utiliser DEF
comme expression rationnelle. Pour identifier les chaînes qui ne le contiennent pas, renvoyez simplement les chaînes qui ne correspondent pas à l'expression ci-dessus.