我正在尝试使用正则表达式函数在大文本文件中查找关键字,然后在与其对应的文本文件中选择某个值 . 虽然我当前的脚本执行此操作,但我想在Regex函数中放置一个循环,以便我可以为多个(> 100)关键字执行此操作 . 例如:在我的文本中,将搜索B443并选择旁边写的数字 . 文字如下:

(BHC443)2,462,000 1.a.(1)(a)(b)所有其他以房地产担保的贷款(BHC442)1,033,000 1.a.(1)(b)

对于搜索的所有关键字,输出为BHC443:2,462,000,BHC:442:1,033,000等 . 现在,我在文本中有更多关键字,我需要选择相应的数字,我想编写一个动态正则表达式函数,以便逐个获取关键字并生成输出 . 我有一个已经整理好的关键字的固定列表(例如,B443,B442,CA13323,SQDS73733等) . 所以问题是在文本中搜索所有那些,然后通过首先将关键字作为列表导入然后在该列表的元素上运行正则表达式函数来获取数字 . 我不知道如何运行循环 . 我写的用于查找一次对应一个关键字的数字的正则表达式代码如下所示,它可以正常工作 .

with open(path, 'r') as file:
    for line in file:
      key_value_name = re.search('(B443)([\\(\\)((\\s)+)|(\\n)?(\\n)])
([1234567890,a-zA-Z.\\s]+)', line) # For each keyword, pick the 
corresponding amount
      if key_value_name:
        print(key_value_name.group(1))
        print(key_value_name.group(3))