gpt4 book ai didi

python - 在 Python 中重复正则表达式模式

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:50 24 4
gpt4 key购买 nike

我有一个包含数百万转推的文件——像这样:

RT @Username: Text_of_the_tweet

我只需要从这个字符串中提取用户名。由于在正则表达式方面我完全是零,所以前段时间我被建议使用

username = re.findall('@([^:]+)', retweet)

这在大多数情况下都很好,但有时我会得到这样的行:

RT @ReutersAero: Further pictures from the #MH17 crash site in  in Grabovo, #Ukraine #MH17 - @reuterspictures (GRAPHIC): http://t.co/4rc7Y4…

我只需要字符串中的“ReutersAero”,但由于它包含另一个“@”和“:”,它会打乱正则表达式,我得到了这个输出:

['ReutersAero', 'reuterspictures (GRAPHIC)']

有没有办法只对它在字符串中找到的第一个实例使用正则表达式?

最佳答案

您可以像这样使用正则表达式:

RT @(\w+):

Working demo

enter image description here

匹配信息:

MATCH 1
1. [4-15] `ReutersAero`
MATCH 2
1. [145-156] `AnotherAero`

您可以使用此 python 代码:

import re
p = re.compile(ur'RT @(\w+):')
test_str = u"RT @ReutersAero: Further pictures from the #MH17 crash site in in Grabovo, #Ukraine #MH17 - @reuterspictures (GRAPHIC): http://t.co/4rc7Y4…\nRT @AnotherAero: Further pictures from the #MH17 crash site in in Grabovo, #Ukraine #MH17 - @reuterspictures (GRAPHIC): http://t.co/4rc7Y4…\n"

re.findall(p, test_str)

关于python - 在 Python 中重复正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26769157/

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