Regex avec quantifieur sans séquence
cristoc
Messages postés
35
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
je cherche la syntaxe pour une regex qui doit me chercher la présence de 3 fois le caractere - dans une chaine.
Je connais {3}, mais ça ne matche que pour 3 fois le caracteres de suite.
par exemple je veux reconnaitre 'mot-special-10-bis'
Merci de votre aide
je cherche la syntaxe pour une regex qui doit me chercher la présence de 3 fois le caractere - dans une chaine.
Je connais {3}, mais ça ne matche que pour 3 fois le caracteres de suite.
par exemple je veux reconnaitre 'mot-special-10-bis'
Merci de votre aide
A voir également:
- Sequence borlette
- Comment couper une séquence vidéo - Guide
- Error 1962 no operating system found. boot sequence will automatically repeat ✓ - Forum PC fixe
- Error boot sequence - Forum Windows
- Error 1962 - Forum Windows 10
- Error 1962 no operating system found boot sequence will automatically repeat - Forum Matériel & Système
2 réponses
Bonjour,
Tes explications ne sont pas très claires...
Je suppose à la lecture de ton énnoncé et de l'exemple donné... que tu cherches les mots qui auraient 3 tirets dedans.. c'est bien ça ??
Dans ce cas, la regex pourrait être du genre
Tes explications ne sont pas très claires...
par exemple je veux reconnaitre 'mot-special-10-bis'
Je suppose à la lecture de ton énnoncé et de l'exemple donné... que tu cherches les mots qui auraient 3 tirets dedans.. c'est bien ça ??
Dans ce cas, la regex pourrait être du genre
(\w+-\w+-\w+-\w+)
Bonjour,
J'essaierais quelque chose de ce genre :
C'est-à-dire « n'importe quoi (sauf tiret) suivi d'un tiret, trois fois. Puis n'importe quoi (sauf tiret) pour finir. »
Cela matche pour EXACTEMENT trois tirets.
Si tu souhaites AU MOINS trois tirets, tu peux utiliser ça :
Xavier
J'essaierais quelque chose de ce genre :
/^([^-]*-){3}[^-]*$/
C'est-à-dire « n'importe quoi (sauf tiret) suivi d'un tiret, trois fois. Puis n'importe quoi (sauf tiret) pour finir. »
Cela matche pour EXACTEMENT trois tirets.
Si tu souhaites AU MOINS trois tirets, tu peux utiliser ça :
/(.*-){3}/
Xavier
Oui c'est justement le site que j'ai utilisé pour les tester.
Pour moi elles répondent au cahier des charges, qui ne parle pas de mots mais de chaînes.
Après s'il doit y avoir des critères supplémentaires, on peut les adapter. J'ai choisi cette forme plutôt qu'une forme plus directe du genre .*-.*-.*-.*, sur laquelle j'étais parti au début, pour couvrir le cas où on souhaite 50 tirets... Ce qui n'est, je te l'accorde, pas au cahier des charges ;)
Pour moi elles répondent au cahier des charges, qui ne parle pas de mots mais de chaînes.
Après s'il doit y avoir des critères supplémentaires, on peut les adapter. J'ai choisi cette forme plutôt qu'une forme plus directe du genre .*-.*-.*-.*, sur laquelle j'étais parti au début, pour couvrir le cas où on souhaite 50 tirets... Ce qui n'est, je te l'accorde, pas au cahier des charges ;)