Duplicata possible :
Comment faire correspondre des traits d'union avec une expression régulière ?
Le trait d'union est un caractère spécial dans les expressions rationnelles. Par exemple, pour sélectionner une plage, je pourrais faire quelque chose comme.. :
[0-9A-F]
Mais en dehors des crochets, c'est juste un caractère normal, non ? J'ai testé cela sur quelques testeurs de regex en ligne, et les traits d'union semblent fonctionner comme un caractère normal en dehors des crochets (ou même à l'intérieur des crochets s'ils ne sont pas entre deux caractères - par exemple [-g] semble correspondre à - ou g), qu'il soit échappé ou non. Je n'ai pas trouvé la réponse à cette question, mais je me demande s'il est conventionnel ou non d'échapper les traits d'union.
Merci !
5 votes
Cela dépend de la langue que vous utilisez pour représenter les expressions irrégulières.
3 votes
Voici un article similaire qui devrait répondre à vos questions : stackoverflow.com/a/4068725/56829
10 votes
Je ne vois pas en quoi c'est une copie exacte. Cette question demande COMMENT échapper aux traits d'union. Je sais déjà comment les échapper et je demande s'il est nécessaire de les échapper. Le fait que certaines des réponses se chevauchent n'est pas pertinent car la nature des questions est différente. Veuillez rouvrir le dossier.
5 votes
La supposée dupe ne fait référence qu'à une langue spécifique et il en va de même pour certaines de ses réponses.
0 votes
Dans le programme Unix grep vous devez échapper
-
toujours, peu importe où il se trouve dans un motif.