如何使用不使用IP地址的日期进行拆分

时间:2012-06-29 08:02:51

标签: php

我有一个大字符串,有日期,IP地址等。我需要用日期拆分内容,并用

完成
[0-9]+[/.-])([0-9]+[/.-][0-9]+ 

但它也使用IP地址分开。 日期和IP地址之间的唯一区别是日期有3个数字,而Ip有4个数字,如28.06.2012和178.15.16.314。如何从分割内容中省略IP地址?

对不起。还有一件事我忘了添加。这就是日期格式的其他可能性,如25-06-12,2012-06-25,12-06-25。

1 个答案:

答案 0 :(得分:1)

  

日期和IP地址之间的唯一区别是日期有3个数字,而Ip有4个数字,如28.06.2012和178.15.16.314。如何从分割内容中省略IP地址?

首先,日期有四个数字代表年份。其次,IP地址有四个八位字节。所以以下应该做的伎俩(未经测试):

'~(\d{1,2}[.-]\d{1,2}[.-]\d{4})~'

测试:

<?php
$date = '28.12.2012';
$ip = '192.168.0.1';

$regex = '~(\d{1,2}[.-]\d{1,2}[.-]\d{4})~';

var_dump( preg_match( $regex, $date ) ); // int(1)
var_dump( preg_match( $regex, $ip ) ); // int(0)