2024-05-23 14:24:44 发布
网友
如何匹配出现在字符串末尾的一个或多个括号表达式?在
输入:
'hello (i) (m:foo)'
期望输出:
用于python脚本。Paren标记不能出现在彼此的内部(no nesting),并且括号表达式可以用空格隔开。在
这比乍看起来难,至少在我看来是这样。在
您不需要使用regex:
def splitter(input): return [ s.rstrip(" \t)") for s in input.split("(") ][1:] print splitter('hello (i) (m:foo)')
注意:只有当您的输入已知有效时,此解决方案才有效。请参阅MizardX的解决方案,该方案适用于任何输入。在
paren_pattern = re.compile(r"\(([^()]*)\)(?=(?:\s*\([^()]*\))*\s*$)") def getParens(s): return paren_pattern.findall(s)
甚至更短:
解释:
您不需要使用regex:
注意:只有当您的输入已知有效时,此解决方案才有效。请参阅MizardX的解决方案,该方案适用于任何输入。在
甚至更短:
^{pr2}$解释:
^{3}$相关问题 更多 >
编程相关推荐