Skip to main content
 首页 » 编程设计

python之用于大量搜索替换对的正则表达式替换

2025年05月04日22mayingbao

<分区>

我希望能够跨文档进行大规模搜索和替换,以实现文本规范化。

例如:

  1. 查找所有使用 U.S.A、USA 并替换为 United States Of America
  2. 找到所有和号 (&) 并替换为单词 and

我还希望能够在不更改任何代码的情况下向系统添加新规则。所以搜索替换对存储在数据存储中,这意味着任何人都可以添加、更新、删除规则。

我一直在使用 Python re 模块,它非常好,理想情况下我想将元组列表传递给子命令,然后它遍历每个元组并进行替换。除了遍历元组列表然后为每个元组创建一个正则表达式之外,是否有更好的方法来执行此操作 - 它非常缓慢且效率低下,尤其是对于大型文档:

replacements = [ 
  r('USA','United States Of America'), 
  (r'U\.S\.A','United States Of America'), 
  (r'US of A', 'United States of America')] 
 
for replacement in replacements: 
  document = re.sub(replacement[0],replacement[1],document