Регулярное выражение \ p {L} и \ p {N}

Я новичок в регулярных выражениях и получил следующее регулярное выражение:

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

Я знаю, что означает * и | означает «или» и что \ убегает.

Но то, что я не знаю, что означает \p{L} и \p{N} . Я искал Google для него, без результата …

Кто-нибудь может мне помочь?

\p{L} соответствует одной кодовой точке в категории «буква».
\p{N} соответствует любому типу символов в любом скрипте.

Источник: regular-expressions.info

Если вы собираетесь работать с регулярными выражениями, я предлагаю закладок на этом сайте, это очень полезно.

Это ярлыки свойств Unicode ( \p{L} для букв Unicode, \p{N} для цифр Unicode). Они поддерживаются .NET, Perl, Java, PCRE, XML, XPath, JGSoft, Ruby (1,9 и выше) и PHP ( начиная с версии 5.1.0 )

Во всяком случае, это очень странное регулярное выражение. Вы не должны использовать чередование, если class символов будет достаточным:

 [\p{L}\p{N}_.-]* 
  • Есть ли способ конвертировать json в xml в PHP?
  • Сгенерировать class C # из XML
  • Как сгенерировать блок CDATA с помощью JAXB?
  • Как остановить анализ XML-документа с помощью SAX в любое время?
  • Сравнение Xml в C #
  • Для чего нужны пространства имен XML?
  • CollapsingToolbarLayout не распознает прокрутку
  • XML-схема minOccurs / maxOccurs значения по умолчанию
  • Java: Самый эффективный метод для итерации по всем элементам в org.w3c.dom.Document?
  • Включение файла XML в файл XML / XSL
  • LINQ для чтения XML
  • Давайте будем гением компьютера.