正则表达式匹配python中的嵌套括号

时间:2015-05-18 04:34:12

标签: python regex

我想用正则表达式提取这些方法的所有参数。但是,由于SAL标记,我无法使嵌套的括号正常工作。我有这些字符串要解析(多行):

STDMETHOD_(void, Method1)(
_Out_writes_to_(gradientStopsCount, _Inexpressible_("Retrieved through GetGradientStopCount") ) D2D1_GRADIENT_STOP *gradientStops,
UINT32 gradientStopsCount) CONST PURE;

STDMETHOD_(void, Method1)(
_Out_writes_to_(gradientStopsCount, _Inexpressible_("Retrieved through GetGradientStopCount") ) D2D1_GRADIENT_STOP *gradientStops,
UINT32 gradientStopsCount) CONST PURE;

我试过了:

\(((.|\n|\r)*?)\)

但是因为参数有嵌套的括号,所以它不能正确匹配。实际上,我想提取所有内容,包括像

这样的字符串的嵌套括号
MyFunc(...anything in here including more parenthesis...)

单个正则表达式是可行的吗?

1 个答案:

答案 0 :(得分:0)

可能你可以试试这个

"?。*)((+))+ \;"用s标志来匹配几行。

示例:https://regex101.com/r/fJ4cN3/1