js正则表达式

一、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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容