參考博文
var str = 'kid is kid'
var reg = /(\w) is \1/
reg.test(str) == true
這裡的正規表示式裡的'\1'相當於前面的 (\w) =>即乙個分組;這裡的\1就
表示匹配的第乙個分組;
var str = 'aaaabbbbcccc';
var reg = /(\w)/g;
var reg2 = /(\w)\1/g;
str.match(reg) =>["aa","aa","bb","bb","cc","cc"]
這裡是每兩個字母作為乙個組匹配出來,得到這樣的結果
str.match(reg2) =>["aaaa", "bbbb", "cccc"]
這裡是因為'\1'就相當於第乙個匹配組,且匹配的內容需要一樣,
所以如果str ="aaabbbccc"; 那麼str.match(reg2) = null
因為第乙個組和\1同時進行匹配的話,無法找到可以匹配的'xxyy'這種字串
正則捕獲到的結果會被儲存起來,每乙個分組捕獲的內容會從1開始被編號儲存
var reg = /(\d)-(\d)-(\d)/;
var datestr = '2018-04-18';
reg.test(datestr); //true //這一步是需要有的,下面的**才會有效
regexp.$1 //2018
regexp.$2 //04
regexp.$3 //18
下面的這種處理日期格式的還是比較實用的
var datestr = '2018/04/18';
var reg = /(\d)\/(\d)\/(\d)/;
datestr = datestr.replace(reg, '$1-$2-$3') //"2018-04-18"
雖然datestr.replace(/\//g,'-')這句**也可以實現相同的結果,還比較簡單,但是
就覺得上面的正則方式的**很帥;
JS正規表示式的分組匹配
什麼是分組 通俗來說,我理解的分組就是在正規表示式中用 包起來的內容代表了乙個分組,像這樣的 var reg d reg.test 12 true 這裡reg中的 d 就表示乙個分組,匹配兩位數字 分組內容的的形式 乙個分組中可以像上面這樣有乙個具體的表示式,這樣可以優雅地表達乙個重複的字串 hah...
正則分組和邊界匹配
測試匹配整個字串,然後找出符合字串當中匹配子正規表示式的子字串 例如 匹配只有3到5個數字,只有兩個 public class fenzu a z string s 123aa 3434bb 234ccc 00 matcher m p.matcher s 分組查詢是找出滿足全部正規表示式的條件中之後...
js 正則匹配
isnumber 是否為數字 regexps.isnumber d d isint 是否為整形 regexps.isint d istime 是否為時間格式 regexps.istime d d d s d d d isdate 是否為日期格式 regexps.isdate d d d isemai...