正则表达式



我想从文件的每个页面提取某个文本模式的第一次出现,但仅提取第一次出现。例如:

考虑下面的字符串:

string = '''
Page 1:
112.ABC.123
112.ABC.123
112.XYZ.456
111.XYZ.456
'''
import re
result = re.compile(r'd{3}[.]w+[.]d{3}')
matches = result.findall(string)
for match in matches:
print(match)
输出:

112.ABC.123
112.ABC.123
112.XYZ.456
111.XYZ.456
112.ABC.123

如何只输出第一次出现的112.ABC ?123和111.XYZ.456?有人能帮忙吗?

使用dict

import re
result = re.compile(r'd{3}[.]w+[.]d{3}')
matches = result.findall(string)
matches_dict = dict.fromkeys(matches)
for key in matches_dict:
print(key) 

输出
112.ABC.123
112.XYZ.456
111.XYZ.456

最新更新