正则表达式 正向前瞻

正向前瞻语法为(?=pattern),即在目标字符串的相应位置必须有pattern部分匹配的内容,但不作为匹配结果处理,更不会存储在缓冲区内供以后使用。

例如,正则表达式/bed(?=room)/只能匹配子串"bedroom",而子串"room"并不作为匹配结果返回,以进行后续处理。同样正则表达式/Windows(?=2000|xp)/不能匹配WindowsNT,只能匹配其后紧跟子串"2000"或"xp"的子串Windows,而子串"2000"和"xp"并不作为结果返回。
实例:
<script type="text/javascript">

<!--
var str = "bedroom";
var reg = /^bed(?=room$)/g;
var arr = reg.exec(str);
var msg;
if(arr){
msg = arr+"成功匹配<br>";
}else{
msg = "匹配失败<br>";
}
document.write(msg);
-->
</script>
输出
bed成功匹配
---------------------------------------------------------------------------------------------------------------
var str = "Windows2000 Windowsxp";
var reg = /Windows(?=2000|xp)/g;
arr = reg.exec(str);
Windows成功匹配
Windows成功匹配

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...