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

时间:2022-09-19 12:04:52

as3代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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

?
1
2
3
4
5
6
7
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

?
1
2
3
4
5
6
7
8
9
<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) ,希望对大家有所帮助!