<p>javascript 正则表达式 非捕获性分组<br /> &lt;script language=&quot;JavaScript&quot;&gt;<br /> &lt;!--<br /> /*正则表达式 非捕获性分组<br /> <br /> 如果要创建一个非捕获性分组,只要在左括号的后面加上一个问号和一个紧跟的冒号:<br /> */</p> <p> var sToMatch = &quot;#123456789&quot;;<br /> var reNumbers = /#(?:d+)/;<br /> reNumbers.test(sToMatch);<br /> alert(RegExp.$1);</p> <p> /*<br /> 这个例子的最后一行代码输出一个空字符串,因为该组是非捕获性的,<br /> */</p> <p> var sToMatch = &quot;#123456789&quot;;<br /> var reNumbers = /#(?:d+)/;<br /> alert(sToMatch.replace(reNumbers,&quot;abcd$1&quot;));</p> <p> /*<br /> 正因如此,replace()方法就不能通过 RegExp.$x 变量来使用任何反向引用,这段代码<br /> 输出的&ldquo;abcd$1&rdquo;而不是abcd123456789, 因为$1 在这里并不被看成是一个反向引用。<br /> */<br /> //--&gt;<br /> &lt;/script&gt;</p>
返回顶部 留言