AS3 js正则表达式 反向引用(backreference)
as3代码:
varstr="";
varreg=/(\d{})\/gx;
//\即为反向分组,代表前一个分组相同的匹配结果字符。如\d{}匹配了,那么\也只能为匹配,
varfirst=str.match(reg);
//match(),返回一个对象,如果reg有全局属性g,对象的数字索引为各完全匹配字符,
//如果无全局属性g,索引为第一次完全匹配字符,其他索引依次为各分组匹配字符
for(varkeyinfirst)
{
trace("第一次属性名:"+key+",值:"+first[key])
}
/*
输出
第一次属性名:,值:
第一次属性名:,值:
*/
js代码
<scriptlanguage="javascript">
varstr="";
varreg=/(\d{})\/gx;
//\即为反向分组,代表前一个分组相同的匹配结果字符。如\d{}匹配了,那么\也只能为匹配,
varfirst=str.match(reg);
//match(),返回一个对象,如果reg有全局属性g,对象的数字索引为各完全匹配字符,
//如果无全局属性g,索引为第一次完全匹配字符,其他索引依次为各分组匹配字符
for(varkeyinfirst)
{
document.write("第一次属性名:"+key+",值:"+first[key])
}
</script>
<!--
输出.
第一次属性名:,值:
第一次属性名:,值:
-->
更复杂一些的反向引用:
下面是一个简单的关键字搜索高亮显示的正则表达用法。。
AS3
varstr="";
varreg=/(\d{})\/gx;
varfirst=str.replace(reg,"<fontcolor=red>$$</font>");
//输出<fontcolor=red>$</font><fontcolor=red>$</font>。
//replace()作用是把匹配字符串替换成相应字段。
//注意$反向代表reg第一个括号内的分组\d{},而$直接被显示了,表示正则表达式只认括号为分组,不把/识别为第二个分组
trace(first);
JS
<scriptlanguage="javascript">
varstr="";
varreg=/(\d{})\/gx;
varfirst=str.replace(reg,"<fontcolor=red>$$</font>");
//输出<fontcolor=red>$</font><fontcolor=red>$</font>。
//replace()作用是把匹配字符串替换成相应字段。
//注意$反向代表reg第一个括号内的分组\d{},而$直接被显示了,表示正则表达式只认括号为分组,不把/识别为第二个分组
document.write(first);
</script>
以上内容是小编给大家介绍的AS3js正则表达式反向引用(backreference),希望对大家有所帮助!