PHP正则表达式匹配IP地址[重复]

Posted

技术标签:

【中文标题】PHP正则表达式匹配IP地址[重复]【英文标题】:PHP Regex to match an IP address [duplicate] 【发布时间】:2014-05-17 01:32:06 【问题描述】:

关于 php 题: 从字符串“192.168.0.23, 192.168.2.33, 124.125.126.127”中删除 IP 地址“, 124.125.126.127”。 只留下:“192.168.0.23, 192.168.2.33”

谢谢。

【问题讨论】:

非常“聪明”的家庭作业方式 $string = "192.168.0.23, 192.168.2.33"; 将完成这项工作。 【参考方案1】:

使用这个正则表达式:/[\w.]15/ 并替换为空字符串或空字符串""

<?php
$string = '192.168.0.23, 192.168.2.33, 124.125.126.127';
$pattern = '/[\d.]15/';
$replacement = '';
echo preg_replace($pattern, $replacement, $string);
?>

然后,用一些原生 php 字符串函数删除最后一个逗号。 (我对php了解不多)

演示:http://ideone.com/xNCVNC

【讨论】:

abc.def.hij.klm 匹配您的正则表达式。 @maček,我已经编辑过了。谢谢【参考方案2】:

无正则表达式的解决方案

<?php
$str='192.168.0.23, 192.168.2.33, 124.125.126.192';
print_r(array_filter(explode(', ',$str),function ($v)  return substr($v,0,3)=='192'?$v:''; ));

Working Demo

OUTPUT :

Array
(
    [0] => 192.168.0.23
    [1] => 192.168.2.33
)

【讨论】:

以上是关于PHP正则表达式匹配IP地址[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用正则表达式匹配 IP [重复]

用java 正则表达式 提取IP地址

Linux基本命令之正则表达式取ip地址

如何用正则表达式匹配出如下代码中的IP地址跟IP地址归属地?

如何用正则表达式匹配IP地址

python中利用正则表达式匹配ip地址