不是竞争,而是我试图找出为什么某个正则表达式在一个而不是另一个中起作用.
(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]?)
这是我的正则表达式,我正试图运行它
127.255.0.0
使用Pythons正则表达式我得不到任何东西,使用PHP我匹配它,下面是我正在制作的两个调用(只是因为它与它有关).本质上我试图弄清楚为什么它在PHP中工作但不在Python中工作.
re.findall(regex, string) preg_match_all($regex, $string, $matches);
这个对我有用.你一定做错了.
>>> re.match(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]?)', '127.255.0.0').groups() ('127', '255', '0', '0')
不要忘记使用原始字符串来逃避正则表达式:r'regex_here'
正如Regex Howto中所述