2009-08-03 7 views
1

문자열의 일부 내용을 둘러싸고있는 요소를 내용을 그대로두고 변경해야합니다. 나는 정규 표현식을 사용하여 그것을 수행하고 있지만, 위치 매개 변수 ($ 1)를 사용하여 바꿀 때 첫 ​​번째 일치 만 사용합니다. 나는이 문자열이있는 경우정규식 : 각 일치 항목을 찾아서 바꾸기

예를 들어, :

<strong>I want</strong> to change <i>this</i> text, 
but <u>I can't</u>. <div class="question">Why?</div>. 

을 나는 그것을 변경하려면 :

<strong>I want</strong> to change <i>this</i> text, 
but <u>I can't</u>. <div class="question">Why?</div>. 

하지만에만이를 얻을 수 있습니다 :

<strong>I want<strong> to change <strong>this<strong> text, 
but <strong>I can't<strong>. <strong>Why?<strong>. 

나 ' 다음 정규식을 사용하여 m :

210

(전 세계적으로, 그리고 "<$1>"로 대체) 그 문제는 내가 찾을 수 얼마나 많은 경기 말할 수 없다, 어떻게 하나 하나를 참조 할 것 같다. 어쩌면 Perl에서 $ +를 사용할 수 있었지만 작동하지 않습니다. 나는 Yahoo Pipes의 정규식 모듈로 이것을하고있다. PHP 구현과 매우 유사해야합니다.

Yahoo Pipe에서 각 경기를 어떻게 분리하여 사용할 수 있습니까?

답변

2

&lt;&gt;을 독립적으로 대체하는 것이 더 쉽습니다. 그렇게하면 역 참조를 사용할 필요가없는 간단하게 찾기가 가능해집니다.

+0

은 그 두 패스를해야 할 것인가? 하나는 <이고 다른 하나는 >입니까? (고마워!) –

+1

두 번의 패스가 될 것입니다. < 및 >에서 문자열을 대체 한 다음 새 문자열을 웹 페이지에 삽입하십시오. – mlevit

+0

나는 Yahoo Pipes에 익숙하지 않지만 대부분의 정규식 엔진은 모든 기능을 일부 대체합니다. replaceAll ("<", "<")'및 replaceAll (">", ">")'을 사용해야하므로 두 작업이 필요합니다. –