在JavaScript正则表达式模式中的反向引用

3

我可以找到很多与在javascript的replace函数中获取正则表达式捕获组相关的信息,使用$1$2等。但是我真正需要的是一种在正则表达式本身中反向引用捕获组的方法。

我需要使用一个正则表达式匹配以下三个字符串:

<--text-->
<**text**>
<++text++>

其中text实际上是[a-zA-Z]+

我已经有了Ruby中的这个模式:

/<([-+*]{2})(.+)\1>/

不用在意我在这里使用了(.+),但我很想知道如何在javascript中实现\1的反向引用。有什么想法吗?


https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions#special-backreference - VisioN
像 @JamesAllardice 说的那样,你试过了吗?那个正则表达式对我来说很有效。 - Alan Moore
1个回答

8

你可以试试看,它的使用方式是一样的:

var regex = /<([-+*]{2})(.+)\1>/;

var str = "<--text-->";
regex.exec(str); // ["<!--text-->", "--", "text"]

str = "<--text**>";
regex.exec(str); // null

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接