Регулярные выражения p{L} и p{N}
Я новичок в регулярных выражениях и получил следующее регулярное выражение:
(p{L}|p{N}|_|-|.)*
Я знаю, что означает и означает "или" и что убегает.
но что я не знаю что p{L}
и p{N}
средства. Я искал его в Google, безрезультатно...
может кто-нибудь помочь мне?
2 ответа:
\p{L}
соответствует одной кодовой точке в категории "буква".\p{N}
соответствует любому виду числового символа в любом скрипте.Источник: regular-expressions.info
Если вы собираетесь много работать с регулярными выражениями, я бы предложил закладку этого сайта, это очень полезно.
это ярлыки свойств Юникода (
\p{L}
для Буквы в Юникоде,\p{N}
для цифр в Юникоде). Они поддерживаются .Чистая, Perl или Java, PCRE вместе, в формате XML, XPath, можно JGSoft, Рубин (1.9 и выше) и PHP (начиная с версии 5.1.0)В любом случае, это очень странное выражение. Вы не должны использовать чередование, когда класс символов будет достаточно:
[\p{L}\p{N}_.-]*