1.什麼是正規表示式
正規表示式,又稱規則表示式。電腦科學的乙個概念,通常被用來檢索、替換那些符合某個模式(規則)的文字。是通過特殊字元+普通字元來進行模式描述從而達到文字匹配目的的工具。
2.應用場景
①驗證:表單提交時,進行使用者密碼的驗證
②查詢:從大量資訊中快速提取某些內容,例如,在一批url中,搜尋指定url。
③替換:將指定格式的文字進行正則匹配查詢查詢,找到後進行指特定替換。
3、一些常用的正規表示式規則 字元
描述.匹配任意單個字元
|相當與「或」,可以匹配指定的字元,但是也只能選擇其中一項進行匹配
^匹配輸入字串的開始位置
$匹配輸入字串的結束位置
*匹配前面的子表示式零次或多次,* 等價於
+匹配前面的子表示式一次或多次,+ 等價於 。
?匹配前面的子表示式零次或一次 ,? 等價於 。
n 是乙個非負整數,匹配確定的 n 次
n 是乙個非負整數,至少匹配n 次
m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次
?當該字元緊跟在任何乙個其他限制符 (*, +, ?, , , ) 後面時,匹配模式是非貪婪的xy
[xyz]
字元集合,匹配所包含的任意乙個字元
[^xyz]
負值字元集合,匹配未包含的任意字元
[a-z]
字元範圍,匹配指定範圍內的任意字元
[^a-z]
負值字元範圍,匹配任何不在指定範圍內的任意字元
\b匹配乙個單詞邊界,也就是指單詞和空格間的位置
\d匹配乙個數字字元,等價於 [0-9]
\d匹配乙個非數字字元,等價於 [^0-9]
\w匹配字母、數字、下劃線,等價於』[a-za-z0-9_]』
\w匹配非字母、數字、下劃線,等價於 『[^a-za-z0-9_]』
\f匹配乙個換頁符。等價於\x0c和\cl
\n匹配乙個換行符。等價於\x0a和\cj
\r匹配乙個回車符。等價於\x0d和\cm
\s匹配任何不可見字元,包括空格、製表符、換頁符等等。等價於[ \f\n\r\t\v]
\s匹配任何可見字元。等價於[^ \f\n\r\t\v]
4.案例
原始文字如下面兩行:
abc aaaaa
123 abc 444
希望每次遇到「abc」,則替換「abc」以及其後到行尾的內容為「abc efg」
即上面的文字最終替換為:
abc efg
123 abc efg
其中,符號的含義如下:
「.」 =匹配任意字元
「*」 =匹配0次或更多
注意:其實就是正規表示式替換,這裡只是把一些曾經提出的問題加以整理,單純從正規表示式本身來說,就可以引申出成千上萬種特例。
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...