正則表達式中,[\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]這樣的完全通配模式。

全文:http://zhidao.baidu.com/question/513080379.html?qbl=relate_question_2&word=%28%5B%5Cs%5CS%5D%2A%29


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM