Q11 小小正則匹配?

2021-09-29 06:25:06 字數 1167 閱讀 1046

首先,有人可能覺得正則學了就忘了,有人覺得學的時候再查,如何更加方便的學習推薦乙個小的工具配合文件一起學

1.匹配非數字

var reg=/\d/g;

var a='123';

a.replace(reg, "我"); //"123"

var reg=/\d/g;

var a='123.2';

a.replace(reg, "我"); //"123我2"

var reg=/[^0-9]/g

var a='123.2';

a.replace(reg, "我"); //"123我2"

2.理解reg.exec(str);匹配成功返回乙個陣列,匹配失敗返回null

這裡就說一下匹配成功返回的引數:共四個,分別是:

正確返回陣列的至少四個引數

a[0]

該正則盡最大可能匹配到的字串

a[1,2...] 

括號中的分組捕獲:乙個子串在乙個位置,有可能有好幾個,那就在a[2]、a[3]...依次類推

index

匹配到的字元位於原始字串的基於0的索引值

input

原始字串

那就來看看幾個例子吧:對於第乙個正則其中(?:x)這個括號不能當做子串,是未捕獲括號哦

先來圖展示再測試:

重點理解單詞邊界是什麼?\b:就是匹配\w\w中的前乙個

(.+?)這個子表示式中的.是匹配單字元(就是單個字元,比如乙個a或乙個『我』),+就是多個當字元,+後面乙個?就是將貪婪變成非貪婪哦,匹配盡量少個。

3.正則位置匹配

位置匹配學習好文推薦

Q52 正規表示式匹配

題目描述 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 abaca 匹配,但是與 aa.a 和 ab a 均不匹配 動態規劃 這道題邊界...

std regex匹配正規表示式C 11

c 11中引入的這個正規表示式解析的還是挺好用的。unpack call 的目的是將input拆分出name和value的值。這個例子沒什麼用,就看看效果就好 例子 name hello value world 列印輸出 name hello value world hello world incl...

演算法筆記 面試題 11 正規表示式匹配

10.正規表示式匹配 劍指offer上也有該題 難度 困難 給你乙個字串s和乙個字元規律p,請你來實現乙個支援 和 的正規表示式匹配。匹配任意單個字元 匹配零個或多個前面的那乙個元素所謂匹配,是要涵蓋整個字串s的,而不是部分字串。說明 示例 1 輸入 s aa p a 輸出 false 解釋 a 無...