gpt4 book ai didi

python - 正则表达式匹配股票代码

转载 作者:太空狗 更新时间:2023-10-30 01:04:58 27 4
gpt4 key购买 nike

我在匹配文本字符串中的股票代码时遇到问题。我想要一个正则表达式来匹配一个空格、3 个大写字母,最后是一个空格、句点或问号。

下面是我创建的示例模式。

> `example = 'These are the tickers that I am trying to find: FAB. APL APL? GJA ADJ AKE EBY ZKE SPR TYL'

re.findall('[ ][A-Z]{3}[ .!?]',example)`

正则表达式遗漏了很多匹配项。

最佳答案

如果您注意到,遗漏项目是有规律的。这在非标点符号的长部分中最为明显:它错过了所有其他项目。

这是因为 re.findall() 找到了非重叠 匹配项,并且您的模式与每个匹配项前后的空格都匹配。也就是说匹配到一个item后,下一个item的初始空间已经被吞噬,无法再次使用。

使用单词边界 (\b) 而不是匹配前导/尾随空格,并使您的字符类可选:

>>> re.findall(r'\b[A-Z]{3}\b[.!?]?',example)
['FAB.', 'APL', 'APL?', 'GJA', 'ADJ', 'AKE', 'EBY', 'ZKE', 'SPR', 'TYL']

关于python - 正则表达式匹配股票代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48025016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com