正则expression式\ p {L}和\ p {N}

我是新来的正则expression式,并给予以下正则expression式:

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

我知道什么意思和| 意思是“或”,而\逃脱。

但是我不知道\p{L}\p{N}是什么意思。 我search了Google,没有结果…

有人能帮我吗?

\p{L}匹配类别“letter”中的单个代码点。
\p{N}匹配任何脚本中的任何types的数字字符。

来源: regular-expressions.info

如果你打算使用正则expression式很多,我build议书签该网站,这是非常有用的。

这些是Unicode属性快捷方式(Unicode字母为\p{L} \p{N} ,Unicode数字为\p{N} )。 它们受.NET,Perl,Java,PCRE,XML,XPath,JGSoft,Ruby(1.9及更高版本)和PHP( 自5.1.0 )

无论如何,这是一个非常奇怪的正则expression式。 angular色类别足够时,你不应该使用replace:

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