【发布时间】:2013-06-17 17:36:09
【问题描述】:
我要匹配以下文字:
(valuex) AnySingleWord (valuey)
我想在括号内捕获 valuex,valuey 的文本。困难的是 valuex,valuey 都可以包含括号。例如
((value1) AnySingleWord (value2)) AnySingleWord ((value3) AnySingleWord (value4))
那么我的valuex应该是
(value1) AnySingleWord (value2)
和 valuey 应该是
(value3) AnySingleWord (value4)
正则表达式可以做一些事情,比如计算左括号已经过去的数量,然后匹配直到找到右右括号吗?非常感谢。
PS:我可以将开/关括号对的数量限制为 2-3,如果这足够小,可以通过正则表达式解决
【问题讨论】:
-
嵌套括号的数量是否有上限?如果是这样,那么您可以使用正则表达式。但是,这可能不是最简单的解决方案。
-
@Jerry:你仍然可以递归地得到它。
-
我可以将开/关括号对的数量限制为 2-3,如果这小到可以通过正则表达式解决
-
标题更改请求。 '括号'这个词不应该用于'['而不是'('(括号)吗?
标签: c# regex pattern-matching brackets curly-braces