2012-06-29 7 views
1

를 사용하지 않는 날짜를 사용하여 분할하는 방법 나는 날짜와 내용을 분할 필요했다 .. 날짜를 갖는 큰 문자열, IP를 등 주소를 가질 수IP 주소

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

그러나 그것은 또한을 사용하여 분할과 IP 주소. 날짜와 IP 주소의 유일한 차이점은 날짜는 3 자리이며 IP에는 28.06.2012와 178.15.16.314와 같은 4 자리가 있습니다. IP 주소를 생략하여 콘텐츠를 분할 할 수 있습니까?

죄송합니다. 내가 추가하는 것을 잊어 버린 또 하나의 일. 25-06-12, 2012-06-25, 12-06-25와 같은 날짜 형식의 다른 가능성이 있습니다.

+0

시도 ([0-9] {2,4} [\ .-]?) {3}에 대한 날짜 – Onheiron

+0

문자열의 예를 보여줄 수 있습니까? 어디에서 가져 오는거야? –

답변

1

날짜와 IP 주소의 유일한 차이점은 날짜가 3인데 IP에는 28.06.2012와 178.15.16.314와 같은 4 개의 숫자가 있습니다. 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) 
+2

'[''문자 그룹']'안에서'.'을 이스케이프 할 필요는 없습니다. – deceze

+0

@deceze 아, 좋은 지적이있을거야. 추측 그것은 습관이다 :) –