Python 从文本文件中获取特定整数?

Python 从文本文件中获取特定整数?,python,regex,python-3.x,Python,Regex,Python 3.x,我有个问题。 我试图从文本文件中获取一个特定的整数 文本文件较大,但部分包含以下内容: class=“checkbox”name=“reports[]”id=“reports\u 43440” 现在,我对“reports\”旁边的整数感兴趣,它每次都不同 如何从文本文件中获取特定整数 我试过这个,但没能成功 filereader = myFile.read() reportid = re.findall(r'"([^"]*)"', filereader) 问题是,它返回文本文件中括号内的所有

我有个问题。 我试图从文本文件中获取一个特定的整数

文本文件较大,但部分包含以下内容:

class=“checkbox”name=“reports[]”id=“reports\u 43440”
现在,我对“reports\”旁边的整数感兴趣,它每次都不同

如何从文本文件中获取特定整数

我试过这个,但没能成功

filereader = myFile.read()
reportid = re.findall(r'"([^"]*)"', filereader)

问题是,它返回文本文件中括号内的所有内容。但是我只想得到那个特定的整数。

这段代码应该可以解决您的问题:

input = 'class="checkbox" name="reports[]" id="reports_43440"'

results = re.findall(r'"reports\_([^"]+?)"', input)
print results
使用函数的简单解决方案(如果它应该得到一个整数值):

输出:

43440

让您有一个名为
test.txt
的文本文件,其中包含以下内容:

class="checkbox" name="reports[]" id="reports_12343440"
class="checkbox" name="reports[]" id="reports_4342340"
class="checkbox" name="reports[]" id="reports_4344430"
class="checkbox" name="reports[]" id="reports_4344130"
class="checkbox" name="reports[]" id="reports_434410"
class="checkbox" name="reports[]" id="reports_434403"
现在,您可以使用如下正则表达式获取报告的id值:

import re
myFile = open("test.txt","r")
filereader = myFile.read()
regex = r"reports_([\d]+)"
reportid = re.findall(regex, filereader)
for id in reportid:
    print(id)
代码段的输出为:

12343440
4342340
4344430
4344130
434410
434403

在这里,我搜索了与
报告匹配的内容。您可以根据需要进行自定义。

如果这是您的程序的唯一目的,您可以在Linux下使用
grep
或PowerShell中的“选择字符串”进行自定义。此文本文件看起来像HTML-如果是HTML,您可能应该使用HTML解析器。
12343440
4342340
4344430
4344130
434410
434403