使用正则表达式查找单词列表

我要找到一个像下面这样的匹配。只是用文字解释。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']


以上是使用正则表达式查找单词列表的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>