使用PHP preg_match()在字符串中查找特定的IP地址

时间:2016-06-02 21:06:21

标签: php regex

我的PHP代码需要决定字符串$ipaddress中是否有特定的IP地址:

preg_match("[1][4]\.[1][0][8]\.[2][4][1]\.[6][9]", $ipaddress )

由于某种原因,这不起作用。任何想法为什么它不起作用?

1 个答案:

答案 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也可以更好地完成工作。