1)基礎元字元
元字元注釋\s
表示乙個空格
\s表示乙個非空格
\t表示乙個製表符(tab)
\d表示乙個數字
\d表示乙個非數字
\w表示乙個 數字字母下劃線 表示 數字 字母 下劃線 三選一就ok
\w表示乙個 非 數字字母下劃線 表示 數字 字母 下劃線 以外的任意字元就ok
.表示非換行的任意字元
\表示轉義 就是轉變原來的意思 n 表示字母n \n 就表示換行
2)邊界元字元
元字元注釋^
表示字串的開始
$表示字串的結束
^\d以數字打頭
\d$以數字結束
^\d$
以數字打頭 以數字結尾
3)限定元字元
元字元注釋*
表示出現0~到多次
+表示出現1~到多次
?表示出現0次或1次
表示出現n次
表示出現n次或多次
等價於 *
等價於 +
表示出現n次到m次
等價於 ?
4)特殊符號
元字元注釋()
表示乙個整體;單獨捕獲
(?:)
整體匹配,但是不捕獲,只是標識乙個整體,但是捕獲時並不會單獨捕獲出來
i表示或,大部分情況下,它會和()連用,表示乙個整體
表示裡面的任意乙個字元都可以 ;等價於 \s
[^]表示裡面的任意乙個都不行;等價於 \s
-表示 到 從如個字元到哪個字元 前提是它的在ascii碼中是連著的
[0-9a-za-z_]
等價於 \w
[^0-9a-za-z_]
等價於 \w
[0-9]
等價於 \d
[^0-9]
等價於 \d
在寫限定符時,在後面加乙個?
把貪婪性變成非貪婪性
5)正規表示式的識別符號語法
注釋i忽略大小寫
g全域性匹配;加了g,第1次捕獲,捕獲第1個,第2次捕獲,就會捕獲第2個…如果捕獲不到,返回null
y粘性全域性
6)正規表示式的識別符號語法
注釋?=
正向肯定預查 (當我們去捕獲乙個內容時,後面必須跟著我們選擇的乙個內容才行)
?!正向否定預查 (當我們去捕獲乙個內容時,後面必須跟著不是我們選擇的乙個內容才行)
?<=
負向肯定預查(當我們去捕獲乙個內容時,前面必須跟著我們選擇的乙個內容才行)
?負向否定預查(當我們去捕獲乙個內容時,前面必須跟著我們選擇的乙個內容才行 )
7)重複出現語法
注釋\num
\1表示\1這個位置的內容必須和第1個小括號中的內容一模一樣
\2表示\2這個位置的內容必須和第2個小括號中的內容一模一樣
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...