1

日付、IPアドレスなどを含む大きな文字列があります。コンテンツを日付で分割する必要があり、それを

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

ただし、IP アドレスを使用して分割も行います。日付と IP アドレスの唯一の違いは、日付には 3 つの数字があり、IP には 28.06.2012 と 178.15.16.314 のように 4 つの数字があることです。コンテンツを分割する際に IP アドレスを省略するにはどうすればよいですか?

ごめん。もう1つ、追加するのを忘れていました。つまり、25-06-12、2012-06-25、12-06-25 のような日付の形式には他の可能性があります。

4

1 に答える 1

1

日付と IP アドレスの唯一の違いは、日付には 3 つの数字があり、IP には 28.06.2012 と 178.15.16.314 のように 4 つの数字があることです。コンテンツを分割する際に IP アドレスを省略するにはどうすればよいですか?

まず、日付には年を表す4 つの数字があります。次に、IP アドレスには 4 つのオクテットがあります。したがって、次のようにする必要があります(テストされていません):

'~(\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)
于 2012-06-29T08:06:44.033 に答える