正则表达式里match的用法全攻略及实例亲测 原创 收藏

文章标签: 正则
  • :
  • 04-02 14:49
  • :
  • 94次
  • :
  • 0条
  • 2赞

简介本文通过具体的实例来讲述正则表达式里match的用法,通过本文可以让你快速的掌握正则里match的使用方法。

在js或jquery里使用正则来“获取”一些内容时,就要用到正则里的matche xec的方法,本文主要讲match的用法。

match的用法结构为:

str.match(reg);

下面通过具体的实例来了解match的各种用法:

实例1:使用match来判断变量中是否有指定的字符串:

var str="学习jQuery就来爱jQuery";
var reg=/jquery/;
var check=str.match(reg);
if(check==null){
    //未找到正则匹配的内容 
};

上面的实例里,如果匹配到了内容,那么check的值用console.log()打印出来为:

正则表达式里match的用法全攻略及实例_1

虽然看着是Object类型,但我们却能当成“字符串”也能当成“对象”一样来使用:

var str="学习jQuery就来爱jQuery";
var reg=/jquery/i; //这里加上i 忽略大小写 就能匹配到内容了
var check=str.match(reg);
if(check==null){
    //未找到正则匹配的内容 
}else{
    document.write(check); //输出 jQuery
    document.write(check[0]); //输出 jQuery
    document.write(check[1]); //输出 undefined 
    document.write(check.index); //输出 0
    
    //也能像下面这样对check进行判断
    if(check=="jQuery"){
        alert("");
    }
};

因为上面的实例里,我们进行的不是全局匹配,所以match匹配到内容后就不会再继续匹配下去。

实例2:用match进行全局匹配,获取所有匹配到的内容:

var str="1爱jQuery 2aijquery.cn,33很好,收藏!";
var reg=/\d+/g;
var check=str.match(reg);

和上面一样,我们用console.log(check)打印出来看下:

正则表达式里match的用法全攻略及实例_2

从上图可以看出,check是个数组,里面存放的是所有匹配到的内容,我们接下来输出看看:

document.write(check);    //输出 1,2,33
document.write(check[0]); //输出 1
document.write(check[2]); //输出 33
//用join设置自定义的间隔符:
document.write(check.join("|"));    //输出 1|2|33

实例3:全局匹配下,包含子匹配项时:

var str="1爱jQuery 2aijquery.cn,33很好,收藏!";
var reg=/(\d+)[^a-z]/g;
var check=str.match(reg);

上面的正则的意思是:匹配数字和后面不是从a-z的内容,并捕获数字,console.log(check)的结果为:

正则表达式里match的用法全攻略及实例_3

匹配到的结果也是个数组,但是却不包含“子匹配”的内容,我们输出看看:

document.write(check);    //输出 1爱,33很
document.write(check[0]); //输出 1爱
document.write(check[1]); //输出 33很

实例4:非全局匹配下,包含子匹配时:

var str="1爱jQuery 2aijquery.cn,33很好,收藏!";
var reg=/(\d+)[^a-z]/;    //和上面一样,只是把这里的g取掉,不进行全局匹配
var check=str.match(reg);

用console.log(check)看下:

正则表达式里match的用法全攻略及实例_4

从上图里可以看出,check里已经包含了“子匹配”匹配到的内容:

document.write(check);    //1爱,1  输出的是匹配的内容及子匹配的内容
document.write(check[0]); //1爱  输出的是正则匹配到的内容
document.write(check[1]); //1  输出的是子匹配的内容

写文章不容易,转载的请备注 本文首发 爱jquery www.aijquery.cn

好了,关于正则里match的介绍就先写到这里了,希望能帮助到所有看到这篇文章的朋友们!



您正在找的文章可能是: