天天看點

javascript正規表達式(4)——前瞻與對象屬性

前瞻

1.正規表達式從文本頭部向尾部開始解析,文本尾部方向,稱為“前”

2.前瞻就是在正規表達式比對到規則的時候,向前檢查是否符合斷言(條件),後顧/後瞻方向相反

3.JavaScript不支援後顧

4.符合和不符合特定斷言(條件)稱為 肯定/正向 比對和 否定/負向 比對

名稱 正則 含義
正向前瞻 exp(?=assert)
負向前瞻 exp(!=assert)
正向後顧 exp(?<=assert) Javascript不支援
負向後顧 exp(?<!assert) Javascript不支援

正向前瞻

javascript正規表達式(4)——前瞻與對象屬性

第一部分為規則部分,第二部分為斷言(條件)部分

正向前瞻:\w(?=\d)

'a2*3'.replace(/\w(?=\d)/g,'X');

結果:"X2*3"

'a2*34v8'.replace(/\w(?=\d)/g,'X');

結果:"X2*X4X8"

'a2*34vv'.replace(/\w(?=\d)/g,'X');

結果:"X2*X4vv"

負向前瞻:\w(?!\d)

'a2*34vv'.replace(/\w(?!\d)/g,'X');

結果:"aX*3XXX"  //2是單詞字元,*不是數字,2被比對掉。以此類推

對象屬性

g:global全文搜尋,不添加,搜尋到第一個比對停止。預設false

i:ignore case 忽略大小寫,預設大小寫敏感。預設false

m:multiple lines 多行搜尋。預設false

lastIndex 是目前表達式比對内容的最後一個字元的下一個位置。(後面會舉例介紹)

source 正規表達式的文本字元串

繼續閱讀