2014-07-13 2 views

답변

1

당신에게 아래의 정규 표현식을 사용할 수 있습니다.

^(\d{2})([A-Za-z]{3})(\d{4})\(([^)]*)\)$ 

대체,

$1 $2 $3 $4 

DEMO

PHP 코드가 될 것

,

<?php 
$string = '15Mar2009(sun)'; 
$pattern = '~^(\d{2})([A-Za-z]{3})(\d{4})\(([^)]*)\)$~'; 
$replacement = '$1 $2 $3 $4'; 
echo preg_replace($pattern, $replacement, $string); 
?> //=> 15 Mar 2009 sun 
+0

감사 @Avinash는, 당신은 내 시간을 절약하고 또한 저를 가르쳤다. –

1

당신에게 '에서 출력을 필요로, 나는 문제가 나는이 문제를 해결하는 방법을 잘 모르겠습니다 + 수정자를 이미 사용하고 있으며 한정자 {}을 사용하고 있습니다.

+을 제거하고 문자 그대로 일치 시키려면 ()을 백 슬래시로 이스케이프 처리해야합니다.

그래서,이 정규식 사용

(\d{1,2})(\w{3})(\d{4})\(\w{3}\) 

을 그리고로 교체 : 제거

$1 $2 $3 $4  
1

추가 + 및 브래킷 마지막 부분에서 그들을 탈출에 맞게 :

$pattern = '/(\d{1,2})(\w{3})(\d{4})\((w{3})\)/';