問:
例如:[a-z]表示從a到z之間的任意一個。
不是這樣的嗎?誰能給我解釋一下[ ]的所有用法?感謝
答:
是完全通配的意思,\s是指空白,包括空格、換行、tab縮進等所有的空白,而\S剛好相反
這樣一正一反下來,就表示所有的字符,完全的,一字不漏的。
另外,[]這個符號,表示在它里面包含的單個字符不限順序的出現(xiàn),比如下面的正則:
[ace]*
這表示,只要出現(xiàn)a/c/e這三個任意的字母,都會被匹配
[\s]表示,只要出現(xiàn)空白就匹配
[\S]表示,非空白就匹配
\w 匹配包括下劃線的任何單詞字符。等價于“[A-Za-z0-9_]"。
\W 匹配任何非單詞字符。等價于“[^A-Za-z0-9_]"。
那么它們的組合,表示所有的都匹配,與它相對應(yīng)的,有[\w\W]等,意義完全相同、
另外要說的一點是,為什么有"."這個通配符了,還要這樣的用法。
其實,[\s\S]
與[\w\W]
這樣的用法,比較".
"所匹配的還要多,因為".
"是不會匹配換行的,所有出現(xiàn)有換行匹配的時候,人們就習(xí)慣 使用[\s\S]或者[\w\W]這樣的完全通配模式。