非字母數字匹配(否定字元類)

[^0-9a-zA-Z]

這將匹配所有既不是數字也不是字母(字母數字字元)的字元。如果下劃線字元 _ 也被否定,則表示式可以縮短為:

[^\w]

要麼:

\W

在以下句子中:

  1. 嗨,怎麼了?

  2. 我等不及 2017 了!!!

以下字元匹配:

  1. , '? 和行尾字元。

  2. ' ,, ! 和行尾字元。

UNICODE 注意
請注意,某些具有 Unicode 字元屬性支援的風格可能會將\w\W 解釋為 [\p{L}\p{N}_][^\p{L}\p{N}_],這意味著其他 Unicode 字母和數字字元也將被包含在內(請參閱 PCRE 文件 )。這是一個 PCRE \w 測試StackOverflow 文件

在 .NET 中, \w = [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Lm}\p{Mn}\p{Nd}\p{Pc}] ,注意它不匹配\p{Nl}\p{No} 與 PCRE 不同(參見 \w .NET 文件 ):

StackOverflow 文件

請注意,由於某種原因,Unicode 3.1 小寫字母(如𝐚𝒇𝓌𝔨𝕨𝗐𝛌𝛚)不匹配。

Java 的 (?U)\w 將匹配 PCRE 和 .NET 中\w 匹配的組合: StackOverflow 文件