在这个正则表达式中(\d*)[\^*{2}](\d*)我试图捕获一个幂公式的数字:例如2 ^ 3应该返回2和3,而4 ** 5应该返回4和5.表达式只能工作在第一种情况下,任何想法?
答案 0 :(得分:3)
*{2}
位没有做你认为它正在做的事情,因为它在一个类([]
)中。它将接受类中的每个单独的字符(类中唯一的元字符是^
和-
)。所以你的表达将接受121,1 {4等可能是这样的:
(\d+)(?:\^|\*{2})(\d+)
离标记更近。
答案 1 :(得分:1)
这是正确的:
(\d*)(?:\^|\*{2})(\d*)
您确实匹配[]
内的所有内容,而这不是您想要的内容。