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