我是新來的正則表達式,並已獲得以下正則表達式:正則表達式 p {L}和 p {N}
(\p{L}|\p{N}|_|-|\.)*
我知道*手段|意味着「或」,並且\逃脫。
但是我不知道什麼\p{L}
和\p{N}
的意思。我已經搜索谷歌它,沒有結果...
有人可以幫助我嗎?
我是新來的正則表達式,並已獲得以下正則表達式:正則表達式 p {L}和 p {N}
(\p{L}|\p{N}|_|-|\.)*
我知道*手段|意味着「或」,並且\逃脫。
但是我不知道什麼\p{L}
和\p{N}
的意思。我已經搜索谷歌它,沒有結果...
有人可以幫助我嗎?
\p{L}
與類別「letter」中的單個代碼點匹配。
\p{N}
匹配任何腳本中的任何類型的數字字符。
如果你要使用正則表達式的工作很多,我建議書籤該網站,這是非常有用的。
thx爲快速回答:)。但不應該正則表達式匹配10嗎?我試過一個在線正則表達式匹配器:http://regexpal.com/ – Diemauerdk 2013-02-15 09:10:37
@ user1093774:我不認爲[regexpal](http://regexpal.com/)支持'\ p {}',但是,是的,它應該匹配。 – Cerbrus 2013-02-15 09:12:17
這種語法特別適用於現代Unicode正則表達式實現,並非所有解釋器都能識別。您可以安全地用{a-zA-Z}(ascii表示法)或{\ w}(perl/vim表示法)替換\ p {L};和\ p {N}的{0-9}(ascii)或{\ d}(perl/vim)。如果你想匹配所有這些,只需要:{a-zA-Z0-9} +或{\ w \ d} + – 2015-08-18 02:46:16
這些是Unicode屬性快捷鍵(Unicode字母爲\p{L}
,Unicode字母爲\p{N}
)。它們支持.NET,Perl,Java,PCRE,XML,XPath,JGSoft,Ruby(1.9及更高版本)和PHP(since 5.1.0)
無論如何,這是一個非常奇怪的正則表達式。你不應該使用交替時,字符類就足夠了:
[\p{L}\p{N}_.-]*
它的正則表達式在xml中 - 我還沒有修改過正則表達式:) – Diemauerdk 2013-02-15 09:13:51
除了使用捕獲括號的事實之外,RE實際上會編譯成相同的東西(好吧,在任何支持'\ p { ...}首先是轉義序列風格)。 – 2013-02-15 09:34:45
,看起來像XRegExp unicode插件。如果是這樣的話,將是任何語言中的任何字母數字 – Tim 2015-10-30 19:10:09
我用Google搜索它,但我得到了[這個結果](https://stackoverflow.com/a/14891168/507738)。 – 2017-07-11 08:24:45