编程语言
首页 > 编程语言> > python 嵌套正则递归匹配

python 嵌套正则递归匹配

作者:互联网

需要提取“发热(低热(37.3-38°C)),乏力,腹痛(下腹痛,一侧腹痛)”中的“发热,乏力,腹痛”,即去除括号内的内容(包含括号,括号可能嵌套),好像可以用“平衡组/递归匹配”,但不知道怎么用python实现,用nestedExpr貌似可以实现。

from pyparsing import nestedExpr

def get_nested_expr(syms):
  if not syms.startwiths('('):
    syms = '(' + syms + ')' expr = nestedExpr('(', ')') result = expr.parseString(syms).asList()[0] fin_res = [] for res in result: if isinstance(res, list): continue fin_res.extend(res.strip(',').split(',')) return ','.join(fin_res)

参考链接:如何在python中实现递归正则表达式? - 码客 (oomake.com)

标签:python,res,syms,嵌套,正则,expr,nestedExpr,fin
来源: https://www.cnblogs.com/ice-lolly/p/15830903.html