Je sais trois choses ...Comment nier une chaîne regex
1) Je sais que:
a.{1,250}?z
vérifiera que est à moins de 250 caractères de z.
2) Je sais que
a[^b]{1,250}?z
vérifiera que est à moins de 250 caractères de z, mais aucun de ces caractères sont b.
3) Je sais aussi que
a[^bad]{1,250}?z
vérifiera que est à moins de 250 caractères de z, mais aucun de ces caractères sont b, un ou d.
mais
4)
Comment wow aurais-je vérifier que se produit à moins de 250 caractères de z, mais que le mauvais mot ne semble pas entre eux?
Imaginant nécessaire une correspondance exacte "string" (comme dans une recherche google) le pseudo-code ressemblerait à ceci:
a[^"bad"]{1,250}?z
Ceci est parfait. – COMisHARD
Pas exactement * regular * (les lookaheads sont une extension), mais je ne suis pas sûr que cela puisse être résolu techniquement avec des expressions régulières pures ... Donc vous obtenez +1 de moi :) – Sebivor
@Seb, lookahead négatif peut être résolu complètement avec une expression régulière simple, mais en général, une expression régulière qui correspond à l'ensemble exact de chaînes est beaucoup plus compliquée que l'original. C'est la raison de l'extension. Il est facile de démontrer avec des automates finis, mais en dehors du temps et de l'espace disponibles ici. –