regex=re.compile(r"pattern_A(\d+)|pattern_B:(\d+)")
result=re.search(regex,string);
我有字符串“pattern_A9123213”和“pattern_B490329402”,以及“没有匹配的字符串”
结果将是[('9123213','')],[('','490329402')]或[('','')]
我怎样才能得到像['9123213'],['490329402']和['']这样的元素。
谢谢!
答案 0 :(得分:1)
最简单的方法是使用r"(pattern_A|pattern_B:)(\d+)"
作为正则表达式,然后获取第二个匹配组(re.search(regex,string).group(2)
)。这是有效的,因为您尝试抓取的组在两侧都是相同的模式(\d+
)。通常,您必须使用多个正则表达式来处理这种情况。
答案 1 :(得分:0)
re.compile不返回列表。它返回一个编译的正则表达式,其方法可用于对字符串进行操作。