標籤:javascript尋找匹配 js match js regexp
一、string中提供的charAt() 返回在指定位置的字元。
樣本:‘abc‘.charAt(1); //"b"
charCodeAt() 返回在指定的位置的字元的 Unicode 編碼。
樣本:‘abc‘.charCodeAt(1); //98
indexOf(searchvalue,fromindex) 檢索字串,返回對應下標。
樣本:‘abcabc‘.indexOf(‘b‘,0); //1
‘abcabc‘.indexOf(‘b‘,2); //4
search(regexp) 檢索與Regex相匹配的值,返回對應下標。
樣本:‘abcabc‘.search(‘b‘); //1
‘abcabc‘.search(/b/img); //1
match(regexp) 找到一個或多個Regex的匹配,沒有返回null,否則返回數組
樣本:‘abcabc‘.match(‘b‘); //["b"]
‘abcabc‘.match(/b/img); //["b", "b"]
PS:上述regexp,可以是子串、也可以是正則。
二、RegExp直接量文法:/pattern/attributes
建立RegExp對象的文法:new RegExp(pattern, attributes);
RegExpObject.lastIndex 用於規定下次匹配的起始位置。
attributes:
i 執行對大小寫不敏感的匹配。
g 執行全域匹配(尋找所有匹配而非在找到第一個匹配後停止)。
m 執行多行匹配。
(1)RegExpObject.exec(string) 返回一個數組,其中存放匹配的結果;檢索不到返回null。
樣本1:
/c/img.exec('abcdefgc'); //['c']new RegExp("c","img").exec('abcdedgc'); //['c']/c/img.exec('a'); //null樣本2:
var reg = new RegExp("c","im");reg.exec("abcabc"); //["c"]reg.lastIndex; //0var reg = new RegExp("c","img");reg.exec("abcabc"); //["c"]reg.lastIndex; //0typeof reg; //"object"Object.prototype.toString.call(reg); //"[object RegExp]"(2)test 檢索字串中指定的值。返回 true 或 false。
樣本:
/c/img.test('abcdefgc'); //truenew RegExp("c","img").test('abcdedgc'); //true
JavaScript:尋找/匹配