J'essaie de trouver un moyen d'avoir des caractères optionnels dans une fonction PHP regex (instruction). J'essaie d'entrer une adresse très simple composée de données numériques, d'un espace, d'un nom de rue avec une lettre majuscule, d'une rue, d'un boulevard, d'une avenue, etc., puis des caractères optionnels de NSWE seulement. Voici ce que j'ai jusqu'à présent ...Caractères d'option dans l'expression rationnelle PHP
Jusqu'à présent, ce qui fonctionne et ce qui ne fonctionne pas ...
133 fois Route (ne fonctionne pas)
133 fois Road_ (le trait de soulignement est en fait un espace et cela fonctionne)
133 fois route a (travaux, mais ne doivent pas)
133 route N fois
suggestions ont grandement apprécié.
d+\s[A-z]+\s[A-z]+(\s+[NSWE])*?
Voir https://regex101.com/r/tKuM77/1 –
Cela correspond de toute façon aux caractères autres que 0-9, comme les chiffres hindous-arabes. Soyez plus précis quant à ce que vous voulez vraiment que l'expression rationnelle fasse. Veuillez réécrire la question. – PHPglue
Utiliser [A-z] 'pour faire correspondre toutes les lettres est généralement une mauvaise idée, car les caractères entre crochets, barre oblique inverse, carotte, trait de soulignement et caractère arrière sont également inclus dans cette plage. – CAustin