捕獲符合匹配條件的子串
假如匹配到,捕獲的結果是乙個陣列
第乙個陣列元素為捕獲的內容,即擷取的符合匹配條件的第乙個字串
第二個陣列元素為index,即匹配到的第乙個字串的的起始位置
第三個陣列元素為input,值為原始檢測的字串
假如匹配不到 結果就是null
正則捕獲懶惰性
概念:執行一次exec方法只能捕獲到第乙個與正則匹配的內容,這叫正則捕獲懶惰性
原因:lastindex屬性不變,手動修改lastindex屬性也不能改變其懶惰性
要想改變正則捕獲懶惰性,只能在正則後面加修飾符g,並且反覆呼叫exec方法
var reg = /\d+/g; //匹配包含0或多個0~9之間的數字的字串
var str = "123哈哈456嘿嘿789呵呵";
//第一次呼叫
var arr = reg.exec(str);
console.log(arr,arr2); //得到的結果為乙個包含多個值的物件
//第乙個捕獲的內容
console.log(arr[0]); // 123
//索引值
console.log(arr.index); // 0
//被檢測的原字串
console.log(arr[2]); // 123哈哈456嘿嘿789呵呵
//再次呼叫
var arr2 = reg.exec(str);
//第二次呼叫的匹配到的第二個子串的內容
console.log(arr2[0]); // 456
//第二次呼叫的匹配到子串的起始位置的索引值
console.log(arr2["index"]); // 5
注意:如果正則在定義的時候沒有新增修飾符g,那麼不管使用多少次exec方法,得到的結果都是第乙個符合條件的匹配的字串。
得到的結果是乙個陣列,儲存著所有匹配到的子串
var str = "123哈哈456嘿嘿789呵呵";
var reg = /\d+/g;
var arr = str.match(reg);
console.log(arr); // 123,456,789
//分別獲得每乙個子串
console.log(arr[0]); // 123
console.log(arr[1]); // 456
console.log(arr[2]); // 789
用於檢索字串中指定的子字串,或檢索與正規表示式相匹配的子字串,並返回子串的起始位置。
var str = "123哈哈456嘿嘿789呵呵";
//匹配漢字
//使用正規表示式
var reg = /[\u4e00-\u9fa5]+/g;
var index = str.search(reg);
alert(index); // 3
//使用字串 ---- search 方法可使用字串作為引數。字串引數會轉換為正規表示式。
var index2 = str.search("哈哈");
alert(index); // 3
用於在字串中用一些字元替換另一些字元,或替換乙個與正規表示式匹配的子串。
//練習一:將 嘿嘿 替換為 麼麼噠
var str = "123哈哈456嘿嘿789呵呵";
//將接收字串作為引數
var txt = str.replace("嘿嘿","麼麼噠");
console.log(txt);
//使用正規表示式作為引數
var txt = str.replace(/嘿嘿/,"麼麼噠");
console.log(txt);
//練習2:匹配數字子串,將每一項子串後邊都新增乙個冒號(:)
str = str.replace(/\d+/g,function(item) )
console.log(str); // 123:哈哈456:嘿嘿789:呵呵
Grok 正則捕獲
grok 正則捕獲 s d d s 回顧下 pattern 匹 配 pattern 但不獲取匹配結果,也就是說這是乙個非獲取匹配,不進行儲存供以後使用。這在使用 或 字元 來組合乙個模式的各個部分是很有用。例如,industr y ies 就是乙個比 industry industries 更簡略的...
正則的捕獲
正則的捕獲 exec,返回的結果是陣列或null 先看個demo var reg d var str hua123hua456 var result reg.exec str console.dir result 123 index 3,input hua123hua456 console.log ...
正則的捕獲
正則的捕獲 exec,返回的結果是陣列或null 先看個demo var reg d var str hua123hua456 var result reg.exec str console.dir result 123 index 3,input hua123hua456 console.log ...