2012-07-26 4 views
0

그 사이에 단락 태그가있는 시작 접두사와 끝 접두사를 찾는 정규식을 작성하려고합니다. 하지만 제가 예상 한 것은 제 기대치에 미치지 못하고 있습니다.정규식 일치 일부 텍스트가 포함되어 있지 않습니다.

%%%HL_START%%%(.*?)</p><p>(.*?)%%%HL_END%%%

가 제대로 나는 '시작과 끝 접두사

<p>%%%HL_START%%%One%%%HL_END%%% Some More Text %%%HL_START%%%Here%%%HL_END%%%</p><p>Some more text %%%HL_START%%%Here%%%HL_END%%%</p>

+0

귀하의 두 번째 예제가 작동하는'일치합니다. – nickb

답변

1

bettween에없는 이것은 또한 일치하지만 난 그것이 </p><p>를 변경할 수 없기 일치 싶지 않다 <p>This Should %%%HL_START%%%Work</p><p>This%%%HL_END%%% SHould Match</p>

일치 정규식이 여기에 적합한 해결책이라는 전적으로 편안하지 않습니다. 당신이 중첩 시작으로 점점 마커를 중지하는 경우, 당신은이 특정 예를 들어 정규 언어 ...

이 없을 수도 있으므로 .*? 일치가 과거를 갈 수없는 대신 .[^%]를 사용하도록 정규식을 변경해보십시오 첫 번째 '%%%의 HL_START %%%`마지막`%%% HL_END %%% 사이에 충분한 컨텐츠를 먹을 수 있기 때문에 %%%%H:_END%%%%

%%%HL_START%%%([^%]*?)</p><p>([^%]*?)%%%HL_END%%% 
관련 문제