Skip to main content
 首页 » 编程设计

python之Notepad++ 中使用的正则表达式搜索词不适用于 python

2025年02月15日37qlqwjy

我正在处理一个充满 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”中。