正則表達式怎么匹配非漢字非字母非數字之外的字符


漢字的表示和正則表達式引擎相關,不同引擎的寫法不同,下面的寫法適用於java引擎,或者一切以unicode來表示字符的引擎。
1、基本規格——針對漢字的一般集合(cp936,約等於GBK,共計20000多漢字)
[^\dA-Za-z\u3007\u4E00-\u9FCB\uE815-\uE864]
2、擴充規格——針對多一些的漢字(支持CJK ExtA,共計接近30000漢字)
[^\dA-Za-z\u3007\u3400-\u4DB5\u4E00-\u9FCB\uE815-\uE864]
3、豪華規格——針對更多的漢字(支持CJK ExtB、C、......,共計75000多漢字)
(?![\dA-Za-z\u3007\u3400-\u4DB5\u4E00-\u9FCB\uE815-\uE864]|[\uD840-\uD87F][\uDC00-\uDFFF])

轉自:http://zhidao.baidu.com/question/313562732.html

匹配漢字和特殊符號很簡單,\w 相當於 [a-zA-Z0-9] 意思就是匹配大小寫英文字母和數字。我們只需要在前面加 ^ 符號。

例如:[^\w] 或者 [^a-zA-Z0-9] 意思就是 大小寫英文字母和數字 以外的字符。最終結果包括漢字和特殊字符了。

但是,如果要將 漢字和特殊字符 細分的話。。。我還要想辦法。你知道的話請給我留言。Thanks


免責聲明!

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



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