regex=re.compile(r"pattern_A(\d+)|pattern_B:(\d+)")
result=re.search(regex,string);
我有字符串“pattern_9123213”、“pattern_B490329402”和“no matched string”
结果将是[('9123213',''),[('','490329402')]或[('','')]
我怎么才能只得到一个元素,比如['9123213']、['490329402']和['']。
谢谢您!在
Tags:
最简单的方法是使用
r"(pattern_A|pattern_B:)(\d+)"
作为regexp,然后获取第二个匹配组(re.search(regex,string).group(2)
)。这样做是因为您尝试获取的组在两边都是相同的模式(\d+
)。一般来说,您必须使用多个regex来处理这种情况。在在重新编译不返回列表。它返回已编译的正则表达式,其方法可用于对字符串进行操作。在
相关问题 更多 >
编程相关推荐