^\s*[)]*\s*$
和^\s*[(]*\s*$
匹配粗体括号(
和)
。也就是说,我们试图忽略单个而不是(condition1)括号的括号:
while
( #matches here
( #matches here
(condition1) && (condition2) &&
condition3
) ||
(#matches here
(condition4) ||
condition5 &&
(condition6)
) #matches here
) #matches here
但如果我喜欢这个,那就不匹配了:
while
(( #does not match here
(condition1) && (condition2) &&
condition3
) ||
(
(condition4) ||
condition5 &&
(condition6)
) ) #does not match here
或
while
((( #does not match here
(condition1) && (condition2) &&
condition3
)) ||
(( #does not match here
(condition4) ||
condition5 &&
(condition6)
) ) ) #does not match here
如何匹配所有单个括号?
答案 0 :(得分:5)
我个人建议您使用一个简单的堆栈来计算开放和结束括号,而不是跳过正则表达式。