. 匹配除換行符以外的任意字元
\w 匹配字母或數字或下劃線或漢字
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞的開始或結束(一般用於校驗整個字串)
^ 匹配字串的開始(整個字串最開頭)
$ 匹配字串的結束(整個字串最後)
如果你想查詢元字元本身的話,比如你查詢.,或者*,就出現了問題:你沒辦法指定它們,因為它們會被解釋成別的意思。這時你就得使用\來取消這些字元的特殊意義。因此,你應該使用\.和\*。當然,要查詢\本身,你也得用\\.
例如:deerchao\.cn匹配deerchao.cn,c:\\windows匹配c:\windows。
* 重複零次或更多次
+ 重複一次或更多次
? 重複零次或一次
重複n次
重複n次或更多次
重複n到m次
*? 重複任意次,但盡可能少重複
+? 重複1次或更多次,但盡可能少重複
?? 重複0次或1次,但盡可能少重複
? 重複n到m次,但盡可能少重複
? 重複n次以上,但盡可能少重複
a.*?b匹配最短的,以a開始,以b結束的字串
正規表示式有一條規則,比懶惰/貪婪規則的優先順序更高:最先開始的匹配擁有最高的優先權
[ ] 指定方括號內的都可以匹配相當於或。
如:[aeiou]就匹配任何乙個英文母音字母,[.?!]匹配標點符號(.或?或!),[0-9]代表的含意與\d就是完全一致的:一位數字;同理[a-z0-9a-z_]也完全等同於\w(如果只考慮英文的話)
0\d-\d|0\d-\d這個表示式能匹配兩種以連字型大小分隔的**號碼:一種是三位區號,8位本地號(如010-12345678),一種是4位區號,7位本地號(0376-2233445)。
小括號來指定子表示式(也叫做分組),然後你就可以指定這個子表示式的重複次數了。
如:(\d\.)\d是乙個簡單的ip位址匹配表示式。要理解這個表示式,請按下列順序分析它:\d匹配1到3位的數字,(\d\.)匹配三位數字加上乙個英文句號(這個整體也就是這個分組)重複3次,最後再加上乙個一到三位的數字(\d)。
用於匹配除了...以外,其它任意字元都行的情況
\w 匹配任意不是字母,數字,下劃線,漢字的字元
\s 匹配任意不是空白符的字元
\d 匹配任意非數字的字元
\b 匹配不是單詞開頭或結束的位置
[^x] 匹配除了x以外的任意字元 [^aeiou]匹配除了aeiou這幾個字母以外的任意字元
入門學習參考:
深入學習參考:
正規表示式基礎用法總結
正規表示式概述 專門描述字串中字元出現規則的表示式 1 用途 1 驗證字串格式 2 查詢 遮蔽敏感詞 2 字符集 3 預定義字符集 字符集的最簡化寫法 d 一位數字 0 9 w 匹配一位字母 數字或 s 可匹配空格 製表符tab等空白 匹配所有文字 萬用字元 4 數量詞 如果規定乙個字符集或子規則反...
正規表示式用法總結
首先看乙個正規表示式的小demo 匹配郵箱,前面只能出現數字,英文本母,橫線,下劃線和點,前乙個字元不能是點,開頭不能是橫線和點。string email a za z0 9 a za z0 9 a za z0 9 0 9 0 9 0 9 a za z0 9 a za z 0 9 boolean f...
正規表示式基礎用法
正規表示式 regular expression 描述了一種字串匹配的模式 pattern 可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串等。字元含義示例 匹配任意長度的字串 匹配長度為1的字串 匹配除換行符以外的任意字元 匹配字串 一行 的開始 匹配字串 ...