Je suis nouveau dans les expressions régulières et j'ai reçu l'expression régulière suivante:
(\p{L}|\p{N}|_|-|\.)*
Je sais ce que signifie * et | signifie "ou" et que \ s'échappe.
Mais ce que je ne sais pas quoi \p{L}
et \p{N}
signifie. Je l'ai cherché sur Google, sans résultat ...
Est-ce que quelqu'un peut m'aider?
xml
regex
character-class
Diemauerdk
la source
la source
Réponses:
Source: regular-expressions.info
Si vous allez beaucoup travailler avec des expressions régulières, je vous suggère de mettre ce site en favori, c'est très utile.
la source
\p{}
, mais oui, cela devrait correspondre.\p{L}
par{a-zA-Z}
.{a-zA-Z}
, par exemple, ne correspondra à aucun caractère accentué, tel queé
, qui est utilisé partout en français. Donc, ceux-ci ne sont remplaçables en toute sécurité que si vous êtes sûr que vous ne traiterez que l'anglais, et rien d'autre.Ce sont des raccourcis de propriété Unicode (
\p{L}
pour les lettres Unicode,\p{N}
pour les chiffres Unicode). Ils sont pris en charge par .NET, Perl, Java, PCRE, XML, XPath, JGSoft, Ruby (1.9 et supérieur) et PHP ( depuis 5.1.0 )En tout cas, c'est une regex très étrange. Vous ne devriez pas utiliser l'alternance lorsqu'une classe de caractères suffirait:
la source
\p{…}
style de séquence d'échappement en premier lieu).