2010年05月15日 星期六 02:31
搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了↖(^ω^)↗。这些都是文章备份。勿怪。。
as3代码:
var str = "9976543321";
var reg = /(\d{1}) \1/gx;
// \1 即为反向分组,代表前一个分组相同的匹配结果字符。如\d{1} 匹配了9,那么\1也只能为匹配9,
var first=str.match(reg);
//match(),返回一个对象,如果reg有全局属性g,对象的数字索引为各完全匹配字符,
//如果无全局属性g,0索引为第一次完全匹配字符,其他索引依次为各分组匹配字符
for(var key in first)
{
trace("第一次属性名:"+key +",值:"+ first[key])
}
/*
输出
第一次属性名:0,值:99
第一次属性名:1,值:33
*/
----------------------------------------------
js代码
<script language="javascript">
var str = "9976543321";
var reg = /(\d{1}) \1/gx;
// \1 即为反向分组,代表前一个分组相同的匹配结果字符。如\d{1} 匹配了9,那么\1也只能为匹配9,
var first=str.match(reg);
//match(),返回一个对象,如果reg有全局属性g,对象的数字索引为各完全匹配字符,
//如果无全局属性g,0索引为第一次完全匹配字符,其他索引依次为各分组匹配字符
for(var key in first)
{
document.write("第一次属性名:"+key +",值:"+ first[key])
}
</script>
<!--
输出
第一次属性名:0,值:99
第一次属性名:1,值:33
-->
更复杂一些的反向引用:
下面是一个简单的关键字搜索高亮显示的正则表达用法。。
AS3--------------------------------------------------------------
var str = "9976543321";
var reg = /(\d{1}) \1/gx;
var first=str.replace(reg,"<font color=red>$1$2</font>");
//输出 <font color=red>9$2</font>7654<font color=red>3$2</font>21。
//replace()作用是把匹配字符串替换成相应字段。
//注意$1反向代表reg第一个括号内的分组\d{1},而$2直接被显示了,表示正则表达式只认括号为分组,不把/1识别为第二个分组
trace (first);
JS-------------------------------
<script language="javascript">
var str = "9976543321";
var reg = /(\d{1}) \1/gx;
var first=str.replace(reg,"<font color=red>$1$2</font>");
//输出 <font color=red>9$2</font>7654<font color=red>3$2</font>21。
//replace()作用是把匹配字符串替换成相应字段。
//注意$1反向代表reg第一个括号内的分组\d{1},而$2直接被显示了,表示正则表达式只认括号为分组,不把/1识别为第二个分组
document.write(first);
</script>