Regex ends with specific words

Eléphant du PHP | 107 Messages

17 oct. 2022, 03:02

Bonjour a tous,

J'essaye de verifier avec un regex si une chaine de caracteres commence et finit avec une liste specifique de mots.
Actuellement je fais ceci:

Code : Tout sélectionner

let val = 'Ctrl+Toto'; return /^(Ctrl|Alt|Shift|Super|Cmd|Option)$/.test(val);
Ceci marche a peu pres bien, mais il y a un cas qui pose pb:
Si je fournis val = 'Ctrl+' le regex return true, alors que j'attends false.
Je voudrais que le regex retourne false si la chaine de caracteres ne finit pas par un des mots fournis. Donc une chaine finissant par + devrait me retourner false, mais avec le regex ci-dessus je recois true.
Ca marche tres bien pour verifier si la chaine de caracteres commence par un des mots fournis, mais verifier si la chaine de caracteres finit par un des mots fournis echoue.

Comment puis-je ameliorer ceci?
En vous remerciant pour vos reponses.

Mammouth du PHP | 1967 Messages

17 oct. 2022, 09:02

Salut,

Utilise 2 groupe de mots, une pour le début et l'autre pour la fin.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube