我的PHP代码需要决定字符串$ipaddress
中是否有特定的IP地址:
preg_match("[1][4]\.[1][0][8]\.[2][4][1]\.[6][9]", $ipaddress )
由于某种原因,这不起作用。任何想法为什么它不起作用?
答案 0 :(得分:3)
[1]
和1
是一回事,创建一个元素的组是没有意义的。您可以直视14\.108\.241\.69
。
这项工作缺少的是分隔符。使用Perl正则表达式时,模式必须用分隔符括起来,通常是/
,#
或~
。
preg_match('/14\.108\.241\.69/', $ipaddress)
preg_match('~14\.108\.241\.69~', $ipaddress)
preg_match('#14\.108\.241\.69#', $ipaddress)
preg_match()
的所有有效用途。
因为你正在寻找一个简单的字符串,所以你真的不需要preg_match()
,一个简单的strstr($ipaddress, '14.108.241.69') !== FALSE
也可以更好地完成工作。