JavaScript正则表达式(四)字符串实例方法match

除了知道是否要被搜索的字符串中是否含有匹配的模式,知道模式所对应的片段的位置之外,作为开发人员,还需要额外知道更重要的信息。比如,匹配的次数(针对这个句子I have never be a real human.中ve,出现了两次),匹配片段的左端和右端分别是什么等等。因此,我们需要更加强大的方法,幸运的是,javascript提供了这些方法。

首先介绍的是,字符串实例方法match。

使用match方法,只需要遵循stringObjectInstance.match(正则表达式对象)即可。该方法将包含查找的结果作为数组返回。返回的数组在不同的浏览器下有不同的属性,在IE下,包含input,index和lastIndex属性。在chrome和Firefox下,包含input,index属性。

input、index和lastIndex。Input 属性包含整个的被查找字符串。Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。lastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置。切记lastIndex属性只在IE下有效果。

      考虑如下代码,其中a30是一个textarea的输入框元素:

function doMatch(){

                 var str = "i have never bea man.";

                 var reg = /ve/;

                

                 var ar = str.match(reg);

                 var txt =document.getElementById("a30");

                

                 txt.value = ("match method: \r\n");

                 for(var i in ar){

                      txt.value +=("ar["+i+"] is "+ar[i]+" \r\n");

                 }

           }

在chrome和Firefox下打印的结果是:

      match method :

ar[0] is ve

ar[index] is 4

ar[input] is i havenever be a man.

而在IE下,打印的结果是:

      match method :

ar[input] is i havenever be a man.

ar[index] is 4

ar[lastIndex] is 6 【这个是have的ve的后面那个空格的位置,ve是最后一次匹配】

ar[0]is ve
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值