Eu sou novo em expressões regulares e recebi a seguinte expressão regular:
(\p{L}|\p{N}|_|-|\.)*
Eu sei o que * significa e | significa "ou" e esse \ escapa.
Mas o que eu não sei o que \p{L}
e \p{N}
meios. Procurei no Google por isso, sem resultado ...
Alguém pode me ajudar?
xml
regex
character-class
Diemauerdk
fonte
fonte
Respostas:
Fonte: regular-expressions.info
Se você vai trabalhar muito com expressões regulares, sugiro marcar esse site, é muito útil.
fonte
\p{}
, mas sim, deve corresponder.\p{L}
por{a-zA-Z}
.{a-zA-Z}
, por exemplo, não corresponderá a nenhum caractere acentuado, comoé
, que é usado em francês. Portanto, eles só podem ser substituídos com segurança se você tiver certeza de que processará apenas inglês e nada mais.Esses são atalhos de propriedade Unicode (
\p{L}
para letras Unicode,\p{N}
para dígitos Unicode). Eles são suportados por .NET, Perl, Java, PCRE, XML, XPath, JGSoft, Ruby (1.9 e superior) e PHP ( desde 5.1.0 )De qualquer forma, é um regex muito estranho. Você não deve usar alternância quando uma classe de personagem seria suficiente:
fonte
\p{…}
estilo de sequência de escape em primeiro lugar).