正則表達式中,[\s\S]* 什麼意思

問:

例如:[a-z]表示從a到z之間的任意一個。

不是這樣的嗎?誰能給我解釋一下[ ]的所有用法?感謝

 

答:

是完全通配的意思,\s是指空白,包括空格、換行、tab縮進等所有的空白,而\S剛好相反

這樣一正一反下來,就表示所有的字符,完全的,一字不漏的。

另外,[]這個符號,表示在它裏面包含的單個字符不限順序的出現,比如下面的正則:

[ace]*

這表示,只要出現a/c/e這三個任意的字母,都會被匹配

[\s]表示,只要出現空白就匹配

[\S]表示,非空白就匹配

那麼它們的組合,表示所有的都匹配,與它相對應的,有[\w\W]等,意義完全相同、

另外要說的一點是,爲什麼有"."這個通配符了,還要這樣的用法。

其實,[\s\S] [\w\W]這樣的用法,比較"."所匹配的還要多,因爲"."是不會匹配換行的,所有出現有換行匹配的時候,人們就習慣 使用[\s\S]或者[\w\W]這樣的完全通配模式。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章