如何使用python和regex合并两个文本文件

问题描述 投票:1回答:1

这就是我得到的:(在回答之后编辑。)

import re
File1 = open('text.txt', 'r')
regex = re.compile(r'\b(?:[12]?\d{1,4}|30{4})#[^#]+#')
string = File1.read()
itemdesc = regex.findall(string)
for word in itemdesc:
    print (word)

通过使用:\ b(?:[12]?\ d {1,4} | 30 {4})#[^#] +#我可以找到:

5173#bunch of text here
of, bunch here, text
text here, bunch of
#

找到这个文本后,我想在另一个存在类似文件的文件中替换它。 在目前阶段,我仍然需要实现以下内容:

\b(?:number)#[^#]+#

为了找到文本移动并将其替换为另一个具有相同编号的文件,也在检查是否存在多个文本之前。

在这样做之后,我将遇到另一个问题,即保存多次出现并将其存储在另一个文本中以便手动完成剩下的工作。

希望你们可以提供帮助,任何帮助都表示赞赏它不需要是一个解决方案。 :)

python regex text merge
1个回答
2
投票

这里的问题是,当您真正想要在多行上匹配正则表达式时,您正在读取文件并逐行匹配正则表达式。因此,您应该将整个文件读取为一个字符串,然后将其与正则表达式进行匹配:

import re
File1 = open('text.txt', 'r')
regex = re.compile(r'\b(?:[12]?\d{1,4}|30{4})#[^#]+#')
string = File1.read()
itemdesc = regex.findall(string)
for word in itemdesc:
    print (word)
© www.soinside.com 2019 - 2024. All rights reserved.