使用正则表达式查找单词列表
我要找到一个像下面这样的匹配。只是用文字解释。ComanyCode + dot + [4 位数字]
一些示例如下 US.1234、UK.4321 等
import re
txt = "TheUS.8888 in S8ain"
我正在尝试使用一组输入参数。
以下是我如何处理这个问题。有人可以建议我正确的方法。
Companys = ['UK','CA','GE''US']
for k in Companys:
x = re.findall("k.dddd", txt)
理想情况下,US.8888
应返回上述示例代码。
回答
我会re.findall
在这里交替使用:
txt = "TheUS.8888 in S8ain"
countries = ['UK', 'CA', 'GE', 'US']
regex = r'(?:' + '|'.join(countries) + r').d{4}'
print(regex) # (?:UK|CA|GE|US).d{4}
matches = re.findall(regex, txt)
print(matches) # ['US.8888']