AS3 js正则表达式 反向引用(backreference)

539 查看

as3代码:

var str = ""; 
var reg = /(\d{}) \/gx; 
// \ 即为反向分组,代表前一个分组相同的匹配结果字符。如\d{} 匹配了,那么\也只能为匹配, 
var first=str.match(reg); 
//match(),返回一个对象,如果reg有全局属性g,对象的数字索引为各完全匹配字符, 
//如果无全局属性g,索引为第一次完全匹配字符,其他索引依次为各分组匹配字符 
for(var key in first) 
{ 
trace("第一次属性名:"+key +",值:"+ first[key]) 
} 
/* 
输出 
第一次属性名:,值: 
第一次属性名:,值: 
*/

js代码

<script language="javascript"> 
var str = ""; 
var reg = /(\d{}) \/gx; 
// \ 即为反向分组,代表前一个分组相同的匹配结果字符。如\d{} 匹配了,那么\也只能为匹配, 
var first=str.match(reg); 
//match(),返回一个对象,如果reg有全局属性g,对象的数字索引为各完全匹配字符, 
//如果无全局属性g,索引为第一次完全匹配字符,其他索引依次为各分组匹配字符 
for(var key in first) 
{ 
document.write("第一次属性名:"+key +",值:"+ first[key]) 
} 
</script> 
<!-- 
输出 .
第一次属性名:,值: 
第一次属性名:,值: 
--> 

更复杂一些的反向引用:

下面是一个简单的关键字搜索高亮显示的正则表达用法。。

AS3

var str = ""; 
var reg = /(\d{}) \/gx; 
var first=str.replace(reg,"<font color=red>$$</font>"); 
//输出 <font color=red>$</font><font color=red>$</font>。 
//replace()作用是把匹配字符串替换成相应字段。 
//注意$反向代表reg第一个括号内的分组\d{},而$直接被显示了,表示正则表达式只认括号为分组,不把/识别为第二个分组 
trace (first); 

JS

<script language="javascript"> 
var str = ""; 
var reg = /(\d{}) \/gx; 
var first=str.replace(reg,"<font color=red>$$</font>"); 
//输出 <font color=red>$</font><font color=red>$</font>。 
//replace()作用是把匹配字符串替换成相应字段。 
//注意$反向代表reg第一个括号内的分组\d{},而$直接被显示了,表示正则表达式只认括号为分组,不把/识别为第二个分组 
document.write(first); 
</script> 

以上内容是小编给大家介绍的AS3 js正则表达式 反向引用(backreference) ,希望对大家有所帮助!