正規表示式

2021-10-13 12:31:51 字數 1413 閱讀 5872

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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...