为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用正则表达式匹配嵌套括号?

如何使用正则表达式匹配嵌套括号?

慕婉清6462132 2019-07-30 17:45:28
如何使用正则表达式匹配嵌套括号?正如标题所说,这是一个示例输入: (outer   (center     (inner)      (inner)    center)  ouer)  (outer   (inner)  ouer)  (outer  ouer)当然,匹配的字符串将通过递归进行处理。我希望第一个递归匹配: [  (outer   (center     (inner)      (inner)    center)  ouer),  (outer   (inner)  ouer),  (outer  ouer)]不用说后续流程......
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

不要使用正则表达式。

相反,一个简单的递归函数就足够了:

def recursive_bracket_parser(s, i):
    while i < len(s):
        if s[i] == '(':
            i = recursive_bracket_parser(s, i+1)
        elif s[i] == ')':
            return i+1
        else:
            # process whatever is at s[i]
            i += 1
    return i


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 4476 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信