javascript 正则表达式 反向引用
2016-10-24 16:28
267 查看
反向引用语法为“\num”,即可引用编号为num的字匹配存储的内容。num是从1到99的整数,并且num是前面表达式中已编号的子匹配,当然也不能超出已有编号的范围。
例如正则表达式/\w{5}/可以匹配目标字符串中连续出现五个字符,如"hahfi"、"abadc"、"aaaaa"、"zyich"等都可以成功匹配。如果要求五次出现的都是同一个字符,如"aaaaa"、"ccccc"等,则可以用正则表达式/(\w)\1{4}/来完成匹配,\1{4}表示字匹配(\w)匹配到的结果再重复出现4次。
实例:
<script type="text/javascript">
<!--
var str = "abcde";
var reg = /\w{5}/;
var msg;
if(reg.test(str)){
msg
= "成功匹配";
}else{
msg
= "匹配失败";
}
document.write(msg);
-->
</script>
输出:
成功匹配
------------------------------------------------------------------------------------------------------------------
实例:
<script type="text/javascript">
<!--
var str = "aaaaa";
var reg = /(\w)\1{4}/;
var msg;
if(reg.test(str)){
msg
= "成功匹配";
}else{
msg
= "匹配失败";
}
document.write(msg);
-->
</script>
输出:
成功匹配
-------------------------------------------------------------------------------------------------------------
再来举个较为复杂的例子,正则表达式/<(\w+)\s*(\w+(=('|").*?)\4)?\s*)*>.*?<\/\1>/在匹配"<td id='td1' style='color:while'></td>"时成功匹配。这里的反向引用\1等于(\w+),从而保证了只有当"<td>"与"<
\td>"配对时,模式匹配才成功,否则匹配失败:而\4等于"'|"",保证"="号后要以单引号"'"或者双引号"""开始,并以对应的符号结尾,如id='td1',不允许出现id=id='td1'的情况。
实例:
<script type="text/javascript">
<!--
var str = "<td id='td1' style='color:while'></td>";
var reg = /<(\w+)\s*(\w+(=('|").*?\4)?\s*)*>.*?<\/\1>/;
var msg;
if(reg.test(str)){
msg
= "成功匹配";
}else{
msg
= "匹配失败";
}
document.write(msg);
-->
</script>
输出:
成功匹配
例如正则表达式/\w{5}/可以匹配目标字符串中连续出现五个字符,如"hahfi"、"abadc"、"aaaaa"、"zyich"等都可以成功匹配。如果要求五次出现的都是同一个字符,如"aaaaa"、"ccccc"等,则可以用正则表达式/(\w)\1{4}/来完成匹配,\1{4}表示字匹配(\w)匹配到的结果再重复出现4次。
实例:
<script type="text/javascript">
<!--
var str = "abcde";
var reg = /\w{5}/;
var msg;
if(reg.test(str)){
msg
= "成功匹配";
}else{
msg
= "匹配失败";
}
document.write(msg);
-->
</script>
输出:
成功匹配
------------------------------------------------------------------------------------------------------------------
实例:
<script type="text/javascript">
<!--
var str = "aaaaa";
var reg = /(\w)\1{4}/;
var msg;
if(reg.test(str)){
msg
= "成功匹配";
}else{
msg
= "匹配失败";
}
document.write(msg);
-->
</script>
输出:
成功匹配
-------------------------------------------------------------------------------------------------------------
再来举个较为复杂的例子,正则表达式/<(\w+)\s*(\w+(=('|").*?)\4)?\s*)*>.*?<\/\1>/在匹配"<td id='td1' style='color:while'></td>"时成功匹配。这里的反向引用\1等于(\w+),从而保证了只有当"<td>"与"<
\td>"配对时,模式匹配才成功,否则匹配失败:而\4等于"'|"",保证"="号后要以单引号"'"或者双引号"""开始,并以对应的符号结尾,如id='td1',不允许出现id=id='td1'的情况。
实例:
<script type="text/javascript">
<!--
var str = "<td id='td1' style='color:while'></td>";
var reg = /<(\w+)\s*(\w+(=('|").*?\4)?\s*)*>.*?<\/\1>/;
var msg;
if(reg.test(str)){
msg
= "成功匹配";
}else{
msg
= "匹配失败";
}
document.write(msg);
-->
</script>
输出:
成功匹配
相关文章推荐
- 详解JavaScript正则表达式之分组匹配及反向引用
- 详解JavaScript正则表达式之分组匹配及反向引用
- javascript中正则表达式反向引用
- javascript中正则表达式反向引用示例介绍
- JavaScript正则:子正则表达式和反向引用
- JavaScript正则表达式之分组匹配 / 反向引用
- javascript 正则表达式 反向引用
- js正则表达式的分组和反向引用
- Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
- Javascript正则表达式笔记(修正版) - 引用于 ricoyu兄
- Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
- 12.正则表达式:反向引用
- javascript的正则反向引用
- .NET正则表达式的反向引用
- 正则表达式的反向引用
- 正则表达式反向引用小结
- JavaScript 正则表达式 选择、分组和引用
- 正则表达式反向引用
- 正则表达式:反向引用