J'essaie de trouver une expression régulière qui autorise les petites lettres à côté d'autres caractères, mais pas s'il n'y a que des petites lettres.
par exemple
Example # would match example # would not match
Donc un simple ^ [A-Za-z0-9] + $ ne fera pas l'affaire.
Voici un exemple de ce que je souhaite réaliser, le dernier dossier contient une ville qui est toujours en minuscules, donc un motif que je souhaite exclure: https://regex101.com/r/gP1evZ/2
Comment cela peut-il être réalisé en regex pour python?
3 Réponses :
Essayez ^ (?! [a-z \ s] * $) cela doit correspondre aux chaînes qui ne contiennent pas que des caractères minuscules et des espaces. Supprimez \ s si nécessaire.
Merci, car il semble y avoir de nombreuses solutions possibles et l'intégration dans mon utilisation réelle en direct semble difficile, j'ai édité la question et ajouté un exemple.
Si vous souhaitez autoriser les espaces correspondants et que la chaîne ne doit pas contenir uniquement des caractères minuscules ou autoriser une chaîne vide:
^/(hunde|kleinanzeigen)/(?!.*/[a-z]+/)\S+\.html$
Ou sans le lookahead, correspond à au moins un caractère ou un chiffre majuscule
^/(hunde|kleinanzeigen)/(?!.*/[a-z]+/).*(prp_[a-z0-9_]+_\d+|cat_48_5030.*)\.html$
Merci, car il semble y avoir de nombreuses solutions possibles et l'intégration dans mon utilisation réelle en direct semble difficile, j'ai édité la question et ajouté un exemple.
Vous pouvez utiliser une alternative ici:
^(?: from the start of the string
[^a-z]+ all non lowercase letters
| OR
(?=[^a-z]) assert that at least one non lowercase letter character appears
.+ then match one or more of any type of character
)$ end of the string
Cette expression régulière dit de correspondre:
^(?:[^a-z]+|(?=[^a-z]).+)$
Merci, car il semble y avoir de nombreuses solutions possibles et l'intégration dans mon utilisation réelle en direct semble difficile, j'ai édité la question et ajouté un exemple.
Que diriez-vous de
^ [A-Za-z0-9] * [A-Z0-9] [A-Za-z0-9] * $. Ensuite, au moins un caractère doit être autre chose que a-z.EXAMPLEest-il une correspondance? Plus précisément, est-ce que quelque chose qui n'a pas du tout de lettres minuscules correspond?Hm ... approche intéressante, je dois admettre que je ne comprends pas tout à fait pourquoi cela devrait fonctionner. Les deux derniers crochets ne permettraient-ils pas qu'un seul caractère?
Essayez
\ b (?! [Az] + \ b) \ w +regex101. com / r / liRU2H / 1@TimBiegeleisen Oui, c'est le cas, la seule non correspondance est si la chaîne ne contient que de petits caractères.
Une chaîne vide correspondrait-elle ou non? Est-ce «oui, parce qu'il n'a pas de minuscules» ou «non, parce qu'il n'a pas de lettres non minuscules»?
Essayez
^ / (hunde | kleinanzeigen) / (?!. * / [Az] + /). * (Prp_ [a-z0-9 _] + _ \ d + | cat_48_5030. *) \. Html $regex101.com/r/kRvSS6/1