Я новичок в регулярных выражениях и получил следующее регулярное выражение:
(\p{L}|\p{N}|_|-|\.)*
Я знаю, что означает * и | означает «или», и это \ ускользает.
Но что я не знаю, что \p{L}
и \p{N}
означает. Я искал это в Google, но безрезультатно ...
Кто-нибудь может мне помочь?
xml
regex
character-class
Diemauerdk
источник
источник
Ответы:
Источник: regular-expressions.info
Если вы собираетесь много работать с регулярными выражениями, я бы посоветовал добавить этот сайт в закладки, это очень полезно.
источник
\p{}
, но да, он должен совпадать.\p{L}
на{a-zA-Z}
.{a-zA-Z}
, например, не будет соответствовать ни одному символу с диакритическими знаками, напримерé
, который используется во французском языке. Так что их можно безопасно заменить только в том случае, если вы уверены, что будете обрабатывать только английский язык, и ничего больше.Это ярлыки свойств Unicode (
\p{L}
для букв Unicode,\p{N}
для цифр Unicode). Они поддерживаются .NET, Perl, Java, PCRE, XML, XPath, JGSoft, Ruby (1.9 и выше) и PHP ( начиная с 5.1.0 ).Во всяком случае, это очень странное регулярное выражение. Вы не должны использовать чередование, когда достаточно класса символов:
источник
\p{…}
в первую очередь поддерживает стиль escape-последовательности).