我的正则表达式是:
(?:^ *)?(?:\\(*|())[0-9](?: +(?:AND|OR) +(?:\\(|[0-9]))?(?: *\\)|\\1)
我正尝试将其用作测试字符串:
1 AND 2 OR (3 AND 4 OR (2 AND 1))
如果我替换找到的所有匹配项,当最终字符串应仅为1(将每个匹配项替换为1)时,我将以1 OR (1 OR 1)
结尾。
我认为这是+(?:\(| [0-9]))部分。正则表达式似乎无视number JOIN (number
我从this question的第二个答案中提取了此正则表达式
评论说应该找到3 AND (1
等情况,但是不是我用的时候。
有人知道我将如何修改此正则表达式以正确组合布尔表达式?