我不完全确定这个标题是否有意义,但我不确定如何更好地解释。我正在尝试匹配一个字符串,该字符串以一个或多个(
,以相同数量的)结尾。
。我尝试了许多不同的方法,但我不知道如何在regex中执行此操作,或者是否可能!有人能把我送到正确的方向吗?
例子
匹配:(a)
匹配:((a))
不匹配:((a)
不匹配:((a))
等等,你明白了。
使用堆栈数据结构,您可以相对轻松地做到这一点。一个字符一个字符地处理字符串,遇到时按(
,遇到时弹出)
。如果在字符串处理结束时到达时堆栈为空,则该字符串是有效的。否则,如果堆栈为空,则字符串无效。
要计数,只需保持堆栈将达到的最大大小的变量。