美文网首页
js正则表达式

js正则表达式

作者: 迷人的洋葱葱 | 来源:发表于2017-12-17 14:09 被阅读0次

一、exec、test、match、search的用法比较

1、pattern.exec(str)
根据pattern进行正则匹配,如果匹配到一个结果返回一个数组,第一个元素为匹配到的结果,第二个元素为匹配结果在字符串中的索引,第三个元素为原字符串。如果匹配失败,返回null。

function regexp() {
    var reg=/\d/;
    var str="ajda2msdv";
    return reg.exec(str);
}

console.log(regexp());//[ '2', index: 4, input: 'ajda2msdv' ]
function regexp() {
    var reg=/\d/;
    var str="ajdamsdv";
    return reg.exec(str);
}

console.log(regexp());//null

2、pattern.test(str)
测试string是否包含有匹配结果,包含返回true,不包含返回false。

function regexp() {
    var reg=/\d/;
    var str="ajda2msdv";
    return reg.test(str);
}

console.log(regexp());//true
function regexp() {
    var reg=/\d/;
    var str="ajdamsdv";
    return reg.test(str);
}

console.log(regexp());//false

3、str.match(pattern)
根据pattern进行正则匹配,如果匹配到一个结果返回一个数组,第一个元素为匹配到的结果,第二个元素为匹配结果在字符串中的索引,第三个元素为原字符串。如果匹配失败,返回null。

function regexp() {
    var reg=/\d/;
    var str="ajda2msdv";
    return str.match(reg);
}

console.log(regexp());//[ '2', index: 4, input: 'ajda2msdv' ]
function regexp() {
    var reg=/\d/;
    var str="ajdamsdv";
    return str.match(reg);
}
console.log(regexp());//null

4、str.search(pattern)
根据pattern进行正则匹配,如果匹配到一个结果,则返回它的索引数;否则返回-1。

function regexp() {
    var reg=/\d/;
    var str="ajda2msdv";
    return str.search(reg);
}
console.log(regexp());//4
function regexp() {
    var reg=/\d/;
    var str="ajdamsdv";
    return str.search(reg);
}
console.log(regexp());//-1

相关文章

网友评论

      本文标题:js正则表达式

      本文链接:https://www.haomeiwen.com/subject/cigrjxtx.html