2014-08-30 3 views
-1

사용자가 HTML을 포함 할 수있는 텍스트를 입력하는 웹 페이지가 있습니다. 정규식 <.+?>을 사용하여 html 태그와 일치시킬 수 있지만 그 내부에없는 텍스트와 일치해야합니다. 예 : <div id="dont-match-inside-tag">Match this text</div>. 정규식은 또한 태그 바깥에있는 텍스트의 다른 일치도 허용해야합니다. 예 : <div>Match ONLY the UppERCase LettERS</div>. 태그에 포함되지 않은 문자열의 모든 대문자와 일치하는 예가 있습니다.HTML 태그 외부 일치

+0

예, div 태그 안에 포함되어 있는지 여부에 관계없이 표시되는 위치에 관계없이 대문자로 일치 시키려고합니다. – user3809816

+0

다음 "

Match this text
"은 무엇입니까? –

+0

당신이 원하는 것이 불분명합니다. 태그 속성 또는 태그 내용에 관계없이 대문자를 모두 사용합니까? 태그의 내용 내 대문자? 태그의 내용 내에서 위쪽과 아래쪽으로? 당신을 위해 일할 대답을 원한다면 전체 질문을 꼼꼼하게 작성해야합니다. – 1252748

답변

0

이있는가 있어야합니다

DEMO

또는

[A-Z](?=[^<>]*(?:<\/?|$)) 

모든 대문자와 일치

(?:(?!<.+?>)[A-Z])+(?=[^<>]*(?:<\/?|$)) 
, 단지 태그 외부에 존재하는 경우에만 대문자를 일치 시키려면 그 뒤에는 < 또는 >이 아닌 임의의 문자가 계속됩니다. 문자열 뒤에 < 또는 </ 또는 $ 줄 끝 앵커가옵니다. DEMO

+0

대문자 만 일치 시키려면 어떻게해야합니까? foo bar

Match this text
bar' – user3809816

+0

또한 대문자 만 일치시키는 솔루션을 게시했습니다. 여기를 참조하십시오 http://regex101.com/r/oL4bB5/8 –