正規表示式,又稱規則表示式。電腦科學的一給概念。用來檢索、替換那些符號某個模式的文字。正規表示式從左到右進行計算,並遵循優先順序順序,這與算術表示式非常類似。
相同優先順序的從左到右進行運算,不同優先順序的運算先高後低。下表從最高到最低說明了各種正規表示式運算子的優先順序順序:
## 常用元字元
元字元描述\
將下乙個字元標記符、或乙個向後引用、或乙個八進位制轉義符。例如,「\n」匹配\n。「\n」匹配換行符。序列「\」匹配「\」而「(」則匹配「(」。即相當於多種程式語言中都有的「轉義字元」的概念。
^匹配輸入字行首。如果設定了regexp物件的multiline屬性,^也匹配「\n」或「\r」之後的位置。
$匹配輸入行尾。如果設定了regexp物件的multiline屬性,$也匹配「\n」或「\r」之前的位置。
*匹配前面的子表示式任意次。例如,zo*能匹配「z」,也能匹配「zo」以及「zoo」。*等價於。
?匹配前面的子表示式零次或一次。例如,「do(es)?」可以匹配「do」或「does」。?等價於。
[a-z]
字元範圍。匹配指定範圍內的任意字元。例如,「[a-z]」可以匹配「a」到「z」範圍內的任意小寫字母字元。注意:只有連字元在字元組內部時,並且出現在兩個字元之間時,才能表示字元的範圍; 如果出字元組的開頭,則只能表示連字元本身.
[^a-z]
負值字元範圍。匹配任何不在指定範圍內的任意字元。例如,「[^a-z]」可以匹配任何不在「a」到「z」範圍內的任意字元。
< >
匹配詞(word)的開始(<)和結束(>)。例如正規表示式能夠匹配字串"for the wise"中的"the",但是不能匹配字串"otherwise"中的"the"。注意:這個元字元不是所有的軟體都支援的。
正規表示式應用
驗證使用者名稱和密碼:(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^ [a-za-z]\w$
驗證**號碼:(「***-******x」、「***x-******xx」、「***-******x」、「***-******xx」、"******x"和"******xx):^((\d-)|\d-)?\d$
驗證手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d$
驗證身份證號碼:(15位、18位數字),最後一位是校驗位,可能為數字或字元x:(^\d$)|(^\d$)|(^\d(\d|x|x)$)
驗證車牌號:(^[京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊使領a-z][a-z][a-z0-9][a-z0-9掛學警港澳]$)
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...