我有一个大字符串,有日期,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。
答案 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)