문제

문자열의 일부 내용을 둘러싸고있는 요소를 변경하여 콘텐츠를 그대로 남겨 두어야합니다. 정규 표현식으로 수행하고 있지만 위치 매개 변수 ($ 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>.

다음 regex를 사용하고 있습니다.

\x26lt;(.*?)\x26gt;

(전 세계적으로 대체 "<$1>")

문제는 몇 개의 일치가 발견 될지 알 수없고 각 경기를 참조하는 방법을 알 수 없다는 것입니다. 어쩌면 Perl에서는 $+를 사용할 수 있었지만 작동하지 않습니다. Yahoo Pipes의 Regex 모듈 로이 작업을 수행하고 있습니다. PHP 구현과 매우 유사해야합니다, Afaik.

야후 파이프에서 각 경기를 별도로 사용하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

교체하는 것이 더 쉬울 수 있습니다 &lt; 그리고 &gt; 독립적으로. 그렇게하면 역 참조를 사용할 필요가없는 단순히 찾은 곳이됩니다.

다른 팁

확인하면 단일 작업을 수행 할 수 있어야합니다. g 이 스크린 샷에서와 같이 확인란 ... :screenshot
(원천: Aleax.it)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top