正則學習 知識點

2021-10-03 21:31:24 字數 1128 閱讀 6266

符號

. 任意字元

s 空格符

s 非空格符

d 數字

d 非數字

w 數字,字母,_

w 非數字,字母,_

原子表,匹配其中的任意乙個字元,在任何字元只帶有自己符號意思

() 原子組 可以簡便寫法,並且是整體檢驗,不同於原子表,原子組匹配的內容會顯示在matchall中

(?)原子組別名,通過?給當前院子組取別名name

{} 量詞 代表數量

+ 1個或多個

? 0個或1個

*任意個

^ 頭部

$ 尾部

[^] 非

\ 轉義符

i 不區分大小寫

g 全域性

s 不區分換行符

$& 匹配本身 存在於」」中

$` 匹配內容給的前面部分   存在於」」中

$』 匹配內容後面部分   存在於」」中

?=   斷言匹配 等於 可以理解為正則匹配的條件語句只有符號才會匹配上,正則上寫入/?=』條件』/

?!斷言匹配 不等於

?<= 前面等於

?lastindex 正則擁有的對應位置符號

原子表的內容會被快取,通過\1\2\3\4來共同使用,而且可以通過$1,$2,..等來訪問,如何識別呢,從左往右數(這個符號,按順序編成1,2,3等 ?:這倆個符號可以清楚組,也就是不記錄組

量詞後面跟著?會產生禁止貪婪模式,一般的量詞都會貪婪選擇,比如

121111  /[1-9]+/ 這個就會返回121111,結果是往最大方向走,而如果/[1-9]+?/ 就只會返回1(禁止貪婪)

禁止貪婪使用場景,比如巢狀的標籤中會因為標籤相似過多導致匹配出現錯誤,所以使用禁止貪婪能夠解決針對最少匹配情況

技巧:可以通過將不同的正則規則放入乙個陣列中,在全部對輸入值進行正則匹配,若全部true則為true,否則false

string.match 可以列印出多個匹配的情況,或者單個的具體情況

string.matchall 可以返回乙個每個匹配到的情況的具體匹配情況的迭代器interator

string.search 同樣可以使用正則

exec 必須配合全域性符號 g來使用,否則lastindex永遠都是第乙個匹配的index,不會改變

正則知識點補充

1.與正規表示式有關的字串物件的方法 string.replace pattern,string 替換在正規表示式查詢中找到的文字。string.search pattern 通過正規表示式查詢相應的字串,只是判斷有無匹配的字串。如果查詢成功,search 返回匹配串的位置,否則返回 1。strin...

正則入門知識點

正則分組 正則匹配模式 貪婪 非貪婪與獨佔模式 校驗資料的有效性 查詢符合要求的文字內容 對文字進行切歌,替換等操作 1.任意字元 換行除外 2.d 任意數字 d 任意非數字 3.w 任意字母數字下劃線 w 任意非字母數字下劃線 4.s 任意空白符 s 任意非空白符1.r 回車符 2.n 換行符 3...

js正則常用知識點

1.使用new regexp 生成乙個正則物件時注意像一些元字元需轉義,例如 var reg new regexp w var reg w 上面兩種方式相等2.四種零寬斷言 後發斷言 先行斷言 表示式 var reg c w g var str cat hat c5 monkey str.match...