2013-05-26 4 views
3

정규식 태그 내에서 IMG 태그를 발견하고 나는이 정규식 패턴을 시도 <a href="link1"><img src="link2"/></a>나는 HTML 문자열을

같은 이미지 링크를 찾으려하지만 작동하지 않습니다 : "\<a\s.*\<img.*\<\/a\>"

내가 그 패턴을 사용하는 경우 <a href="link1">some text1</a>some text2.<a href="link1"><img src="link2"/></a>과 같은 문자열을 찾습니다. 그러나 처음에는 <a href 부분을 원하지 않습니다. 태그 안의 img 태그를 원한다면 도움이 필요합니다.

+0

대신 HTML 구문 분석기를 사용하지 않는 이유는 무엇입니까? – fge

+0

[JSoup] (http://jsoup.org/)와 같은 HTML 구문 분석기를 사용한다고 말하고 싶습니다. [regex 대신] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except -xhtml-self-contained-tags). 하지만이 간단한 경우에는 그룹을 사용하는 것이 좋습니다. – Pshemo

답변

0

전체 정규식의 일부만 원할 경우 그룹 또는 역 참조 ()을 사용해야합니다.

"\<a\s.*\(<img.*\/>)<\/a\>" 

다음 언어에 따라 첫 번째 그룹을 얻어야합니다.

http://www.regular-expressions.info/brackets.html

업데이트 :

\<a[^<]*\<img.*\<\/a\> 

대신 나는 <를 제외한 모든 문자입니다 [^<]을 사용하는 \s을 : 시도 정확히 일치합니다.

+0

img 태그 안에 무언가가 있기를 원하지 않기 때문에이 기능이 작동하지 않습니다. 태그 안에 img 태그를 함께 넣고 싶습니다. 그 문자열을 html 코드로 일부 css로 덮어서 내 서비스에 게시 할 것입니다. '' –

+0

업데이트가 추가 된 문자열이 정확히 일치해야합니다. 과 일치해야합니다. 공백이나 다른 차이를 처리하려면 조정이 필요할 수 있습니다. –

관련 문제