我正在使用python中的正则表达式开发数据提取器。我卡在我的其他代码正在运行的地方,我在正则表达式中创建但是这个代码如下所述:
正则表达式代码:
regexCode='^about_company:\n[\s\S]+?[A-Z]:'
我在python中运行时上面的代码工作不正常我认为,我犯了一个错误,因为正则表达式代码运行正常here
预期产量:
The output should look like this is terminal of pycharm
对不起链接,我不能因为声誉问题直接放图片
Python代码:
import re
filename = open('textFile.txt','r')
rege = '^about_company:[\s\S]+?[A-Z]:|ABOUT COMPANY:[\s\S]+?[A-Z]:'
for data in filename:
matches = re.findall(rege, data, re.MULTILINE)
if matches:
print(matches)
当我尝试通过将数据存储到文本来打印数据时,它工作但当我尝试从文件中读取数据时,它显示空列表。文本文件与regex101的链接相同。我需要解决方案,请帮忙
将整个文件读入内存并对整个文本运行正则表达式:
import re
f = open('28985133.dat','r')
data = f.read() # Read the file contents into a var
rege = r'^about_company:[\s\S]+?[A-Z]:|ABOUT COMPANY:[\s\S]+?[A-Z]:'
matches = re.findall(rege, data, re.MULTILINE) # Collect matches
for s in matches: # Loop through matches
print(s) # Print matches