Expresión regular \ p {L} y \ p {N}

Soy nuevo en las expresiones regulares y me han dado la siguiente expresión regular:

(\p{L}|\p{N}|_|-|\.)* 

Sé lo que * significa y | significa “o” y eso \ escapa.

Pero lo que no sé es qué \p{L} y \p{N} significa. He buscado en Google, sin resultado …

¿Alguien me puede ayudar?

\p{L} coincide con un único punto de código en la categoría “carta”.
\p{N} coincide con cualquier tipo de carácter numérico en cualquier secuencia de comandos.

Fuente: regular-expressions.info

Si vas a trabajar mucho con expresiones regulares, te sugiero que marques ese sitio, es muy útil.

Estos son atajos de propiedad Unicode ( \p{L} para letras Unicode, \p{N} para dígitos Unicode). Son compatibles con .NET, Perl, Java, PCRE, XML, XPath, JGSoft, Ruby (1.9 y superior) y PHP ( desde 5.1.0 )

En cualquier caso, es una expresión regular muy extraña. No deberías usar la alternancia cuando una clase de personaje sea suficiente:

 [\p{L}\p{N}_.-]* 
Intereting Posts