注:pattern
为RegExp
的实例, str
为String
的实例
用法 | 说明 | 返回值 |
---|---|---|
pattern.test(str) | 判断str 是否包含匹配结果 | 包含返回true ,不包含返回false 。 |
pattern.exec(str) | 根据pattern 对str 进行正则匹配 | 返回匹配结果数组,如匹配不到返回null |
str.match(pattern) | 根据pattern 对str进行正则匹配 | 返回匹配结果数组,如匹配不到返回null |
str.replace(pattern, replacement) | 根据pattern 进行正则匹配,把匹配结果替换为replacement | 一个新的字符串 |
1、test()
字符串的test
方法,比较常用在判断语句中,最简单的RegExp方法了,用于检测一个字符串是否匹配某个模式:
RegExpObject.test(string)
如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false:
/\d/.test('asdf2') // --true 检测字符串`'asdf2'`中是否函数数字
2、exec()
返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
var str = "Visit W3School";
var patt = new RegExp("W3School","g");
var result;
while ((result = patt.exec(str)) != null) {
document.write(result);
document.write("<br />");
document.write(patt.lastIndex);
}
//W3School
//14
3、match()
例1:非全局匹配
var a = 'aaaa'.match(/\w/);
console.log(a); // ["a", index: 0, input: "aaaa"]
可以看到,和exec()一样,在数组中返回了index 和 input属性。
例2:全局匹配
var a = 'aaaa'.match(/\w/g);
console.log(a); // ["a", "a", "a", "a"]
4、replace()
'aaaa'.replace(/\w/g, 'b') //"bbbb"
'aaaa'.replace(/\w/g, function(value) {
return value.toUpperCase();
}); // "AAAA"