Skip to main content
 首页 » 编程设计

python之python输出的正则表达式不正确

2024年08月29日32cmt

import os,re 
def test(): 
    list  = re.findall(r'(255\.){2}','255.255.252.255.255.12') 
    print list 
if __name__ == '__main__': 
test() 

输出:“['255.', '255.']”

为什么不是【255.255,255.255】?

mactch 对象应该是“255.255”

如何得到正确的输出结果?

请您参考如下方法:

在您的正则表达式中,您只捕获第一个 255.。您需要将要捕获的所有内容包装在一个捕获组中:

>>> re.findall(r'((?:255\.){2})','255.255.252.255.255.12') 
['255.255.', '255.255.'] 

(?:...) 是一个非捕获组。它基本上可以让您对事物进行分组,而无需将它们显示为捕获的组。