2010-04-23 2 views
0

설명이 명확하지 않아 죄송합니다. 제 영어 실력이 좋지 않습니다.PHP의 정규 표현식

내 문제는 문자열을 디코드하려는 것이고이 문자열에 중첩 된 내용이 {}로 구분됩니다. 예를 들어
:

문자열 :

{any string0{any string 00{any string 000....}}}{any string1}any string. 

내가 얻고 싶은 결과 : 나는 그것을 충분히 분명 희망

array[0] = {any string0{any string 00{any string 000....}}} 
array[1] = {any string1} 

합니다.

+0

당신은 정규 표현식을 사용하여이 작업을 수행 할 수 없습니다. – SLaks

+0

문제를 더 잘 설명하려고 시도하십시오. 수행해야 할 작업을 이해하기가 매우 어렵습니다. –

+0

친절하게 게시물을 수정 해보세요. '코드 샘플'기능을 사용하십시오. 감사! – abramlimpin

답변

4

(기묘하게 넣고 곧 편집 할 예정) 질문을 최대한 활용하여 다음은 예제 문자열을 가져 와서 예제 배열을 제공합니다. 생산

$subject = '{blah\blah{\blah\blah...{\bl....}}}{blah...}blah... '; 
$pattern = '/\{(?>[^{}]++|(?R))*\}/'; 

preg_match_all($pattern, $subject, $matches); 
print_r($matches[0]); 

는 :

Array 
(
    [0] => {blah\blah{\blah\blah...{\bl....}}} 
    [1] => {blah...} 
) 
+0

그것은 작동, 당신은 내 하루를 저장, 정말 고마워. – kelly

+0

제 생각 엔 환영합니다. :-) – salathe

+0

내 눈! 그것은 고통 스럽다! –