我正在尝试创建一个与两个幂的x
匹配的正则表达式。我正在使用JavaScript。我试过这个:
^(x\1?)$
但它不起作用。 \1
不应该引用外部特征,因此它应该与xx
匹配,因此也应该与xxxx
等匹配吗?
我尝试了一个更简单的,我认为匹配x和xx:
^((x)|(\2{2}))$
但这仅与x
匹配。
我做错了什么?
答案 0 :(得分:2)
你不能做“递归反向引用”。至少,它并不那么容易。
我不确定你需要在这里使用recureive正则表达式。也许你可以只计算字符串中的字符数并检查它是否等于2的幂?
但如果你真的需要递归正则表达式(我几乎可以肯定,你没有), 你可以查看这个问题:
和这个博客