Python 3.x 我想用import re.txt找到最大的数字

Python 3.x 我想用import re.txt找到最大的数字,python-3.x,import,text-files,Python 3.x,Import,Text Files,我希望能够使用re模块搜索文本文件中的所有数字并找到最大数字。我需要在哪里编辑代码以实现此目标? random.txt的外观如下所示: DATQ15UXKNWMN5ZUQHD46J8WEF9RJAQ214TLJIQ8EKZVMDOPMBODD365MICKC67GGVQWBLQV2GOX3N5WC1VQ8C22LZ6SL3IP24不符合46G2219WLA07GP30PNVC8O3CB2D283L68MH86RH6GDNBN7KIXMDO4A84HUZ73905O3BLR71YCQF985JTZ

我希望能够使用re模块搜索文本文件中的所有数字并找到最大数字。我需要在哪里编辑代码以实现此目标? random.txt的外观如下所示: DATQ15UXKNWMN5ZUQHD46J8WEF9RJAQ214TLJIQ8EKZVMDOPMBODD365MICKC67GGVQWBLQV2GOX3N5WC1VQ8C22LZ6SL3IP24不符合46G2219WLA07GP30PNVC8O3CB2D283L68MH86RH6GDNBN7KIXMDO4A84HUZ73905O3BLR71YCQF985JTZ544FRON32PM8N2N2YD7YD7JV9N9N9UZ9RZ7SOSM30PNV8V8V8V8V8V8V9N8V9N9N9N9N9N9N9N7Z7Z7Z7Z7Z7Z7Z7Z7Z7Z7Z7Z

import re
with open('content.txt', 'r',) as f:
    contents = f.read()

    number = 0
    pattern = re.compile(r'\d')
    matches = pattern.finditer('content.txt')
    for match in matches:
        n = int(match)
        if saved <= n:
            number = int(match)
    print(number)

该文件只运行了一次,给了我答案0

您正在content.txt字符串中查找匹配项,因此没有匹配项。此外,MatchObject无法转换为int:

进口稀土 打开'content.txt','r',作为f: contents=f.read 数字=0 pattern=re.compiler'\d+' matches=pattern.findTercontents 对于匹配中的匹配: n=intmatch.group0 如果数字试试这个

import re
with open('file1.txt', 'r') as f:
    data = f.read()
    list_of_numbers = re.findall(r'(?:[\d]+)',data)
    list_of_numbers = map(int, list_of_numbers)

print(max(list_of_numbers))
输出:


你能展示一些示例文本吗?pattern.finditer'random.txt要详细介绍@jornsharpe,请尝试用pattern.finditercontents替换你的pattern.finditer'random.txt。
73905 # max number

your list_of_numbers look like this
['15', '5', '46', '8', '9', '214', '8', '365', '67', '2', '3', '3', '5', '1', 
'8', '22', '6', '3', '24', '46', '2219', '07', '30', '8', '3', '2', '283', '68', 
'86', '6', '7', '4', '84', '73905', '3', '71', '985', '54', '32', '8', '23', '7', 
'9', '575', '9', '7', '0', '99', '2', '5', '33', '6', '76', '8']