ActionScript编程 搜索匹配的字符串
作用:
获取一个字符或字符串,并对目标字符串中所有的字符进行匹配,返回匹配成功的字符串或索引号。
说明:
正则表达式在程序应用中,除了可以匹配各种字符串外,还可以对字符串进行搜索。在使用正则表达式搜索字符串时,需要将其与字符串实例的search()方法和match()等方法结合使用。
其中,search()方法用来检索字符串实例,返回包含指定的字符串或符合相应的正则表达式的字符索引位置;match()方法同样也是用来间字符串实例,但其返回的结果为由字符串和符合相应正则表达式组成的数组。
示例:
1.搜索字符串中的索引号
正则匹配指定汉字使用search()方法,可以检测匹配的字符串。在之前的章节中,这一过程通常是由字符串实现的。例如,在一句话中检索Script,如下所示。
var str:String="ActionScript和JavaScript都是ECMAScript的子集";
trace(str.search("Script"));
执行上面的语句,即可返回结果6,即在这个字符串中,第7个字符起出现了单词Script。使用正则表达式可以实现更强大的功能,例如,实现对大小写的模糊处理,可以通过正则表达式的/i标志,如下所示。
var str:String="ActionScript和JavaScript都是ECMAScript的子集";
trace(str.search(/script/i));
执行上面的语句,同样可以返回结果6。正则表达式还可以忽略匹配字符串中的空白字符,如下所示。
var str:String="ActionScript和JavaScript都是ECMAScript的子集";
trace(str.search(/scr ipt/ix));
执行上面的语句,即可发现获得了同样的效果。需要注意的是,无论为正则表达式设置任何参数,search()方法都将只对字符串进行1次搜索。
2.搜索并匹配字符串
如果需要依据正则表达式对字符串进行多次搜索,可以使用字符串实例的match()方法。match()方法返回的值通常为一个数组,包含一个或多个搜索的结果。例如,搜索之前的字符串中包含多少汉字,可以首先编写一个匹配汉字的正则表达式,如下所示。
var newRegExp:RegExp=/[\u4e00-\u9fa5]{1}/;
然后,使用match()方法匹配字符串,如下所示。
str:String="ActionScript和JavaScript都是ECMAScript的子集";
trace(str.match(newRegExp));
执行上面的代码,用户将会发现,match()方法仍然只进行了1次搜索,输出的结果是汉字“和”。如果需要进行多次搜索,应对正则表达式进行修改,为其添加/g的标志,如下所示。
var myRegExp:RegExp=/[\u4e00-\u9fa5]{1}/g;
trace(str.match(myRegExp));
执行上面的代码,用户即可发现,添加过/g标志后match()输出的结果就是字符串中所有的汉字了,如下所示。
和,都,是,的,子,集
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论