我正在处理一个充满 twitter bios 的大型 .json 文件,我想提取 screen_names。为了防止搜索也返回生物部分中提到的潜在用户,重要的是只提取每行的第一个匹配项。
当我在 Notepad++ 中打开文件时,我可以使用以下正则表达式来完成此操作:
(^.*?)\K"screen_name": "(\w+)"
在 python 中将其用作 re.findall 或 re.search 的一部分不会导致任何匹配。
我对 Python 和正则表达式都是全新的,所以我很确定我不完全了解所有必要的编码。
非常感谢!
请您参考如下方法:
正如其他用户所说,Python 和记事本使用不同的搜索代码,因此为了实现我想要的结果,我部署了以下代码:
import re
regex=re.compile(r'"screen_name":\s*"(\w+)"')
with open("followers.json", "r") as f:
for line in f:
output=regex.search(line)
with open("followers.txt", "a") as outp:
outp.write(output.group(1)+"\n")
这将分析您指定的 .json 文件,逐行读取,并将每一行的每个第一个匹配项保存在文件“followers.txt”中。
