正規表示式

2021-07-24 13:58:41 字數 2834 閱讀 1227

元字元對應說明

.匹配除換行符之外的任意字元

\w匹配字母數字下劃線,等同於:[a-za-z0-9_]

\s匹配任意空白符

\d匹配數字,等同於[0-9]

\b匹配單詞邊界

|或匹配,如 /x|y/ 正則可匹配x或y兩個字元

^匹配字串的開始

$匹配字串的結束

反義字元

對應說明

[^x]

匹配除「x」之外的所有字元,其中「x」可以為任意字元

[^xyz]

同上,匹配除「x、y、z」之外的任意字元

\w匹配除了字母、數字、下劃線之外的所有字元,等同於:[^\w]

\s匹配除空白符之外的任意字元,等同於:[^\s]

\b匹配不是單詞邊界的字元,等同於:[^\b]

\d匹配不是數字的所有字元,等同於:[^\d]

轉義字元

對應說明

\xnn

匹配十六進製制數

\f匹配換頁符,等同於:\x0c

\n匹配換行符,等同於:\x0a

\r匹配回車符,等同於:\x0d

\t匹配水平製表符,等同於:\x09

\v匹配垂直製表符,等同於:\x0b

\unnnn

匹配unicode字元,如:\u00a0

匹配字元

對應說明

*重複出現零次或多次

+重複出現一次或多次

?重複出現零次或一次

重複出現n次

至少重複出現n次

重複重現m到n次,其中,m

分組字元

對應說明

(exp)

用小圓括號進行分組,如日期中年月日的分組:/(\d)-(\d)-(\d)/

每個分組將產生分組號,從第乙個括號開始,可以使用\n的形式在正則中使用分組號,

如匹配成對出現的html標籤,可以寫成:/<(\w+)><\/\1>/

(?:exp)

匹配exp正則,但不產生分組號

exp1(?=exp2)

前瞻斷言,匹配exp1,但後面必須是exp2

如匹配名字叫xianlie,但不姓zhao的人:/zhao(?=xianlie)/

exp1(?!=exp2)

後瞻斷言,匹配exp1,但後面不能是exp2

如匹配姓zhao,但名字不叫xianlie的人:/zhao(?!xianlie)/

相關字元

對應說明

*?重複任意次,但盡可能少的重複

+?重複一次或多次,但盡可能少的重複

??重複零次或一次,但盡可能少的重複

?重複m到n次,但盡可能少的重複

?重複n次以上,但盡可能少的重複

?重複n次,但盡可能少的重複

修飾符對應說明

iignorecase的縮寫,表示忽略字母的大小寫

mmultiline的縮寫,更改^和$的含義,使它們分別在任意一行的行首和行尾匹配

,而不僅僅在整個字串的開頭和結尾匹配。

(在此模式下,$的精確含意是:匹配\n之前的位置以及字串結束前的位置.)

gglobal的縮寫,進行全域性匹配,即對字串進行全文匹配,直到字串遍歷結束

正則其實也勢利,削尖頭來把錢揣 (指開始符號^和結尾符號$)

特殊符號認不了,弄個倒槓來引路 (指\. \*等特殊符號)

倒槓後面跟小w, 數字字母來表示 (\w跟數字字母;\d跟數字)

倒槓後面跟小d, 只有數字來表示

倒槓後面跟小a, 報警符號嘀一聲

倒槓後面跟小b, 單詞分界或退格

倒槓後面跟小t, 製表符號很明了

倒槓後面跟小r, 回車符號知道了

倒槓後面跟小s, 空格符號很重要

小寫跟罷跟大寫,多得實在不得了

倒槓後面跟大w, 字母數字靠邊站

倒槓後面跟大s, 空白也就靠邊站

倒槓後面跟大d, 數字從此靠邊站

倒框後面跟大b, 不含開頭和結尾

單個字元要重複,三個符號來幫忙 (* + ?)

0 星加1 到無窮,問號只管0 和1 (*表0-n;+表1-n;?表0-1次重複)

花括號裡學問多,重複操作能力強 ( )

若要重複字串,園括把它括起來 ((abc) 表示字串「abc」重複3次 )

特殊集合自定義,中括號來幫你忙

轉義符號行不通,乙個乙個來排隊

實在多得排不下,橫槓請來幫個忙 ([1-5])

尖頭放進中括號,反義定義威力大 ([^a]指除「a」外的任意字元 )

1豎作用可不小,兩邊正則互替換 (鍵盤上與「\」是同乙個鍵)

1豎能用很多次,複雜定義很方便

園括號,用途多

反向引用指定組,數字排符對應它 (「\b(\w+)\b\s+\1\b」中的數字「1」引用前面的「(\w+)」)

支援組名自定義,問號加上尖括號 (「(?\w+)」中把「\w+」定義為組,組名為「word」)

園括號,用途多,位置指定全靠它

問號等號字串,定位字串前面 (「\b\w+(?=ing\b)」定位「ing」前面的字串)

若要定位串後面,中間插個小於號 (「(?<=\bsub)\w+\b」定位「sub」後面的字串)

問號加個驚嘆號,後面跟串字串

phper都知道, !是取反的意思

後面不跟這一串,統統符合來報到 (「\w*d(?!og)\w*」,「dog」不符合,「do」符合)

問號小於驚嘆號,後面跟串字串

前面不放這一串,統統符合來報到

點號星號很貪婪,加個問號不貪婪

加號問號有保底,至少重複一次多

兩個問號老規矩,0次1次團團轉

花括號後跟個?,貪婪變成不貪婪

還有很多裝不下,等著以後來增加。

正規表示式 正規表示式 總結

非負整數 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正規表示式 編寫正規表示式

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