javascript正则表达式反向引用

javascript正则表达式反向引用,javascript,regex,backreference,Javascript,Regex,Backreference,这是本书的延续 我仍在努力理解反向引用。下面是我用来测试反向引用的JavaScript代码。当我运行此代码时,只输出null。我哪里做错了 <script type="text/javascript"> function myRegexFunc() { myString="abcabcxabcdefghi"; patt1=new RegExp("(abc)?\1x\1"); document.write(patt1.exec(myString)); } </

这是本书的延续

我仍在努力理解反向引用。下面是我用来测试反向引用的JavaScript代码。当我运行此代码时,只输出null。我哪里做错了

<script type="text/javascript">
function myRegexFunc()
{   myString="abcabcxabcdefghi";
    patt1=new RegExp("(abc)?\1x\1");
    document.write(patt1.exec(myString));
}
</script>
</head>

<body onload="myRegexFunc()">
</body>
您需要对字符串中的\进行转义

patt1 = new RegExp("(abc)?\\1x\\1");
或者您可以使用regex文本:

patt1 = /(abc)?\1x\1/;

你能告诉我为什么逗号后面跟abc吗?我认为结果应该是ABCABCXABC。谢谢。@vaanipala,因为结果是一个数组。但是应该只有一个匹配项。我仍然不明白输出中的第二个abc。请帮忙。