在某些字符后查找精确的单词/字符串

2024-05-21 02:51:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个值列表,
前任: ['acvd MF50-107895 htrx867954', 'aasdsasdasdwg 12354 MF34-123445 hwertx86', 'sdfrgrwgvwewerf 4356 MF74-765980 hwer982fg']

已尝试正则表达式提取字符“MF”后的值。
正则表达式我正在尝试

x = re.search(r"MF", txt) 字符“MF”之后的值,我只需要考虑下一个9个字符,除了空间的字符序列和结果应该是这样的^ {< CD3}}。p>


Tags: re列表search字符mf前任hwer982fghtrx867954
2条回答

试试这个

import re

[re.search("MF.*?\s", v).group().strip() for v in values]

['MF50-107895', 'MF34-123445', 'MF74-765980']

演示,https://regex101.com/r/VHFXji/1

不需要正则表达式,使用

>>> v = ['acvd MF50-107895 htrx867954', 'aasdsasdasdwg 12354 MF34-123445 hwertx86', 'sdfrgrwgvwewerf 4356 MF74-765980 hwer982fg']
>>> l = []
>>> for s in v:
    l.extend([x for x in s.split() if x.startswith("MF")])
    
>>> l
['MF50-107895', 'MF34-123445', 'MF74-765980']

相关问题 更多 >