正则表达式:在同一行中匹配多个匹配项

时间:2018-05-21 12:17:47

标签: regex

我有一个我需要使用正则表达式匹配的字符串。当我在一行中出现一次时它完全正常,但是,当在一行中多次出现相同的字符串时,我没有得到任何匹配。你能帮忙吗?

示例字符串:

MS17010314 MS00030208 IL00171198 IH09850115 IH99400409 IH99410409
IL01771010 IL01791002 IL01930907 IL02360907 CM00010904 IH09520115
MS00201285 MS19050708 MS00370489 MS19011285T

我试过的正则表达式:

(([A-Z]{2}[0-9]{8,9}[A-Z]{1})|([A-Z]{2}[0-9]{8,9}))

2 个答案:

答案 0 :(得分:1)

我尝试使用python并使用以下代码

import re
s='''MS17010314 MS00030208 IL00171198 IH09850115 IH99400409 IH99410409
IL01771010 IL01791002 IL01930907 IL02360907 CM00010904 IH09520115
MS00201285 MS19050708 MS00370489 MS19011285T'''
lst_of_regex = [a,b]
pattern = '|'.join(lst_of_regex)
print(re.findall(pattern,s))

答案 1 :(得分:1)

这似乎工作正常:

this

我已经添加了一种结合所有模式的方法。