【问题标题】:PHP Regex to match an IP address [duplicate]PHP正则表达式匹配IP地址[重复]
【发布时间】: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"; 将完成这项工作。

标签: php regex


【解决方案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
)

【讨论】:

    猜你喜欢
    • 2015-10-26
    • 2012-04-27
    • 1970-01-01
    • 2011-08-17
    • 2011-08-27
    • 2012-05-17
    • 2011-03-01
    • 1970-01-01
    • 2011-05-12
    相关资源
    最近更新 更多