질문은 다음과 같습니다 : 어떻게 (단 하나의) 정규식을 사용하여 이것을 수행 할 수 있습니까? 가능한가?PHP : 정규식의 모든 그룹 가져 오기
설명 :이 같은 배열이 있습니다
code1
1,5
a,c
I :
array
(
[0] => 'code1-{1,5}{a,c}',
[1] => 'code2-{3,6}{s,q}'
)
와 제가하고 싶은 것은, 얻을 정규식을 사용하는 것입니다, 모든 값은 같은 그룹화 이 정규 표현식을 사용하여 {...}
내부의 모든 데이터를 가져올 수 있다는 것을 알고 있습니다.
'/\{([^\}]*)\}/i'
나는 내가이 두 정규식을 병합 할 수 있는지 모르겠어요이게 무슨 일
/(.*?)\-/i
가 사용 대시하기 전에 문자열을 얻을 수 있다는 것을 알고 게다가. 나는이 정규식
'/(.*?)\-\{([^\}]*)\}/i'
이있는 경우 가리키고, 나는 내가 필요로하는 모든 데이터를 얻을 수 없습니다.
'/(.*?)\-\{([^\}]*)\}\{([^\}]*)\}/i'
하지만 입력의 형식 (10) {...} 그룹을 말할 변경한다면, 그것은 더 그렇게 우아한 없다
양식의 10 그룹을 가지고 : 나는 또한 같은 것을 할 수 있다는 것을 알고\{([^\}]*)\}
그리고 그것은 내 질문의 요점이 아니야.
첫 번째 정규 표현식 ('/\{([^\}]*)\}/i'
) : http://ideone.com/mN3T2
병합 된 정규식 ('/(.*?)\-\{([^\}]*)\}/i'
) : 여기