这些具有反向引用的正则表达式有什么问题?

时间:2014-01-02 16:13:31

标签: javascript regex

我正在尝试创建一个与两个幂的x匹配的正则表达式。我正在使用JavaScript。我试过这个:

^(x\1?)$

但它不起作用。 \1不应该引用外部特征,因此它应该与xx匹配,因此也应该与xxxx等匹配吗?

我尝试了一个更简单的,我认为匹配x和xx:

^((x)|(\2{2}))$

但这仅与x匹配。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

你不能做“递归反向引用”。至少,它并不那么容易。

我不确定你需要在这里使用recureive正则表达式。也许你可以只计算字符串中的字符数并检查它是否等于2的幂?

但如果你真的需要递归正则表达式(我几乎可以肯定,你没有), 你可以查看这个问题:

和这个博客