你的位置:首页 > Java教程

[Java教程]正则表达式match()函数


正则表达式match()函数:
此方法可在字符串内查找一个或多个正则表达式的匹配。
返回值是一个数组,但是此数组的内容和正则对象是否是全局匹配有着很大关系:
1.没有g修饰符:
此方法只能够在字符串中匹配一次。如果没有找到匹配的字符串,那么返回null,否则将返回一个数组,数组的第0个元素存储的是匹配字符串,第1个元素存放的是第一个引用型分组(子表达式)匹配的字符串,第2个元素存放的是第二个引用型分组(子表达式)匹配的字符串,依次类推。同时此数组还包括两个对象属性,index属性声明的是匹配字符串的起始字符在要匹配的完整字符串中的位置,input属性声明的是对要匹配的完整字符串的引用。
特别说明:
在非全局匹配模式下,IE浏览器还会具有lastIndex属性。
2.具有g修饰符:
此方法将会获取要匹配的完整字符串的所有匹配。如果没有找到匹配的字符串,那么返回null,否则将返回一个数组,不过这时的数组中没有index和input属性也没有引用型分组(子表达式)匹配的字符串,数组元素只包括完整字符串中的所有匹配。
特别说明:
在IE9以下浏览器,具有g修饰符,数组的返回值也包含index、input和lastIndex属性,本站编辑器插件在演示时会有所误差,在所有的IE浏览器都会有此三个属性。
本章节就只介绍与正则表达式相关内容,对于检索指定的值可以参阅javascript的String对象的match()方法一章节。
语法结构:

stringObject.match(regexp)

参数列表如下 

regexp 必需。RegExp对象。

浏览器支持:
IE浏览器支持此方法。
火狐浏览器支持此方法。
谷歌浏览器支持此方法。
实例代码:
实例一:

var str="I love antzone ,this is animate"; var reg=/an/;console.log(str.match(reg));

以上代码中的正则表达式不具有全局匹配模式,方法的返回值可以运行代码查看。

实例二:

var str="I love antzone ,this is animate"; var reg=/an/g;console.log(str.match(reg));

以上代码中的正则表达式具有全局匹配模式,方法的返回值可以运行代码查看。

原文地址是:正则表达式match()函数