我可以使用replace
,$1
等找到有关在javascript $2
函数中获取正则表达式捕获组的大量信息。但我真正需要的是一种在正则表达式中反向引用捕获组的方法。
我需要将以下三个字符串与一个正则表达式匹配:
<--text-->
<**text**>
<++text++>
text
实际上是[a-zA-Z]+
。
我已经在Ruby中使用了这种模式:
/<([-+*]{2})(.+)\1>/
别介意我在这里使用(.+)
,但我很想知道如何在javascript中实现\1
反向引用。有什么想法吗?
答案 0 :(得分:6)
你能不能尝试一下吗?它的工作方式相同:
var regex = /<([-+*]{2})(.+)\1>/;
var str = "<--text-->";
regex.exec(str); // ["<!--text-->", "--", "text"]
str = "<--text**>";
regex.exec(str); // null