Python 为什么赢了';这个正则表达式不起作用吗?

Python 为什么赢了';这个正则表达式不起作用吗?,python,regex,Python,Regex,Im尝试匹配ip地址,并为python提供了以下正则表达式。我就是不明白为什么这行不通。任何帮助都将不胜感激 r"[0-255]\.[0-255]\.[0-255]\.[0-255]" 因为[0-255]表示0到2或5之间的任何字符。切换到类似 r"^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-

Im尝试匹配ip地址,并为python提供了以下正则表达式。我就是不明白为什么这行不通。任何帮助都将不胜感激

r"[0-255]\.[0-255]\.[0-255]\.[0-255]"

因为
[0-255]
表示
0到2或5之间的任何字符。切换到类似

r"^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"

因为
[0-255]
表示
0到2或5之间的任何字符。切换到类似

r"^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"

[0-255]
将只匹配其中一个单位数
0,1,2,5
,而
r”“
将使反斜杠成为文字。您无法逃避dots这个任务对于正则表达式来说非常不适合。试试类似的东西<代码>八位字节=地址。拆分(“.”);valid=len(八位字节)==4和all(segment.isdigit()和int(segment)<256表示八位字节中的段)
:…
[0-255]
将只匹配一个位数
0,1,2,5
,而
r”“
将使反斜杠成为文字。您无法逃避dots这个任务对于正则表达式来说非常不适合。试试类似的东西<代码>八位字节=地址。拆分(“.”);valid=len(八位字节)==4和all(segment.isdigit()和int(segment)<256表示八位字节中的段)
:…是否允许前导零?@cricket\u 007我不确定规范中是否禁止前导0。我要看看是否允许前导零?@cricket_007我不确定正常情况下禁止前导零。我去看看