2012-02-21 3 views
0

현재 (PHP에서) 나는 다음과 같은 정규식 패턴을 가지고 :RegEx에서 특정 패턴의 많은 인스턴스를 찾는 방법은 무엇입니까?

\[(.*) (.*)=(.*)\] 

이 내 코드는 해당 문자열을 해석하고 어떤 값으로 대체됩니다되는

최종 결과 [= 사실 해봐요 제한]을 일치 그것을 반환하도록 코딩되어 있습니다.

그러나, 일부 코드는 예를 들어, 함수를 통해 전송되는 다수의 변수를 필요 :

[해봐요 제한 = TRUE otherlimitation = 거짓을 sendfile = "안녕하세요"1 개 타이틀]

어떻게 나는 (. ) = (.) 정규 표현식에서 반복적으로 반복하여 함수의 첫 번째 (가장 중요한) 이름을 포함하여 전송 된 모든 변수와 일치하도록 만드시겠습니까?

+0

사용자가 준비한 BBCode 라이브러리 대신 google을 사용해야합니다. – KingCrunch

+0

고마워요, 제가 살펴 보겠습니다.하지만 제 코드를 너무 많이 쓰고 싶지 않아서 제가하는 것보다 속도가 느려지지는 않습니다. 이것이 제 3 자 서면 자료를 사용하지 않는 것을 선호하는 이유입니다. – user85569

+1

일반적으로 휠을 상자로 교체하려고합니다. 최선의 경우 단순히 작동하지 않을 것입니다. 최악의 경우 다른 사람들이 이미 해결 한 증권 문제를 소개 할 것입니다. – KingCrunch

답변

0

다음은 당신을 위해 작동 할 수 있습니다

\[(.*) ((.*)=(.*))+\] 

은 또한 플러스 표시로 별표 (*)를 대체 할 수 있습니다. 현재 정규 표현식은 유효한 문자열로 [ =]과 일치합니다.

\[(.+) ((.+)=(.+))+\] 
+0

결국 + 기호는 PHP의 preg_replace()가 어떤 것과도 일치하지 않도록합니다. 어떤 제안? 정규 표현식 테스터에서는 제대로 작동하는 것으로 보입니다. – user85569

+0

'preg_replace()'의 단점에 대해 몹시 잘 알고 있지 않습니다. 죄송합니다. –

관련 문제