re.search(r'\d\d\d.\d\d\d.\d\d\d.','192.168.111.123')
<re.Match object; span=(0, 12), match='192.168.111.'>
re.search(r'\d\d\d.\d\d\d.\d\d\d','192.168.111.123')#不正常写法
re.search(r'\d\d\d.\d\d\d.\d\d\d.\d\d\d','192.168.111.123')#\d\d\d\表示“或语句”
<re.Match object; span=(0, 15), match='192.168.111.123'>
re.search(r'[aeiou]','I love FIch.com!')
<re.Match object; span=(3, 4), match='o'>
re.search(r'[aeiouAEIOU]','I love.com!')
<re.Match object; span=(0, 1), match='1'>
re.search(r'\d\d\d.\d\d\d.\d\d\d[0-255]'.'188')
SyntaxError: invalid syntax
re.search(r'\d\d\d.\d\d\d.\d\d\d[0-255]','188')
re.search(r'[0-5][0-9][0-9]','188')
<re.Match object; span=(0, 3), match='188'>
re.search(r'[01]\d\d|2[0-4]\d|25[0-5]','255')#正则表达用个数计算,
<re.Match object; span=(0, 3), match='255'>
re.search(r'([01]\d\d|2[0-4]\d|25[0-5]).{3}([01]\d\d|2[0-4]\d|25[0-5])','192.169.1.1')
re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d{0,1}|25[0-5]).){3}([01]\d\d|2[0-4]\d|25[0-5])','192.169.1.1')
re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5]).){3}([01]\d{0,1}\d|2[0-4]\d{0,1}|25[0-5])','192.169.1.1')
正确正则表达式“IP地址”(>>> re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5]).){3}([01]{0,1}\d{0,1}\d|2[0-4]\d{0,1}|25[0-5])','192.169.1.1')
<re.Match object; span=(0, 11), match='192.169.1.1'>)