鑑於此輸入之間的區別:是什麼,這些正則表達式
ESAS NO :2005-238
這2正則表達式不匹配:
esas\s+(no)?\s*:([^\w]+)
esas\s+(no)?\s*:([\W]+)
但是這一次匹配:
esas\s+(no)?\s*:([^a-zA-Z]+)
我以爲所有以上的會/應該表現平等,但他們不是。那些有什麼區別?
鑑於此輸入之間的區別:是什麼,這些正則表達式
ESAS NO :2005-238
這2正則表達式不匹配:
esas\s+(no)?\s*:([^\w]+)
esas\s+(no)?\s*:([\W]+)
但是這一次匹配:
esas\s+(no)?\s*:([^a-zA-Z]+)
我以爲所有以上的會/應該表現平等,但他們不是。那些有什麼區別?
\w
匹配任何字母數字字符,包括數字,即它與[A-Za-z0-9_]
大致相同。
+1,但取決於正則表達式引擎,它可能比這更匹配。例如,在.NET中,'\ w'匹配所有Unicode字母,數字和「連接標點符號」。 –
@TimPietzcker,這就是爲什麼我說「大致相同」。 – Kusalananda