正規表示式隨摘

2021-08-23 15:17:07 字數 1321 閱讀 6961

普通文字和符號:a-z a-z 0-9 以及不是元字元的其它符號

輸入unicode字元時,同string一樣,使用\u***x

元字元:三三二三個一(記憶口訣)

三個括號: 定義匹配的重複次數,跟在要重複的表示式或字元後面

還有常用的三個 非顯式限定符

*+? 星加問

* 出現0次或多次 等同

+ 出現1次或多次 等同

? 出現0次或最多1次 等同

14.3.7 注意正規表示式的貪婪性和懶惰性

使用*+?{}的時候,正規表示式總是盡可能向右搜尋盡可能多的匹配結果,如果想禁止此貪婪性,可在操作符後加上 ?,迫使程式執行時使用懶惰模式,優先使用左邊匹配的第乙個結果。

14.3.8 用正規表示式來定位

斷言:指定匹配發生的位置

^ 匹配字串起始的位置,一般跟在起始/後,組合成 /^

$ 匹配字串結尾的位置,一般跟在結束/前,組合成$/

\b 匹配字元邊界

\b 匹配非字元邊界

字元邊界指空格的位置,可跟在要匹配的表示式左邊或右邊

14.3.9 正規表示式的5個標誌位。

g global 全域性匹配,盡可能匹配全部結果

i ignorecase 不區分大小寫匹配

m multiline 斷言控制符,使用後 ^$兩個斷言符才能生效

s dotall 匹配換行符標誌

x extended 令正規表示式支援空格,但編譯時會自動忽略,增加可視的友好度

14.3.10 正規表示式元字元優先線

優先順序順序從高到低排列

\ 轉義符

(),(?:),(?=), 分級定義符號,字符集定義符號

*,+,?,,, 限定符

^,$,\位置定義 位置和順序

| 選擇符

14.4 正規表示式與字串的結合使用詳解

14.4.1 regexp的exec()和test()

test方法

var regexp物件:regexp = /正規表示式/ 或 new regexp(正則式,標誌位)

var string物件:string = 字元;

regexp物件.test(string物件)

regexp物件.exec(正規表示式):array

exec返回乙個匹配後的陣列

14.4.3 string類的replace()與正規表示式向後引用

()使用子表示式括起的表示式,可以在後邊引用 ,使用\n n為索引 從1至99

/\b([a-z]+) \1\b/gi 其中的\1就是引用前面第乙個([a-z])

可在處理函式中用 $n 來引用子模式

正規表示式隨摘

建立乙個正規表示式 第一種方法 var reg pattern 第二種方法 var reg new regexp pattern exec方法 語法 reg.exec str str為要執行正規表示式的目標字串 例如 輸出test 匹配次數 c 匹配c n 次 c 匹配c n或者m 次,且n小於等於...

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

非負整數 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...