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地址[重复]的主要内容,如果未能解决你的问题,请参考以下文章