(<img[^>]+)(?<!/)>
이 제대로 닫혀 있지 않은 img
태그를 일치 :
여기
뭔가 내가
!/usr/bin/env perl
my @images = ('<img src="toto.jpg">',
'<img src="truc/machin.jpg" title="pouet" >',
'<img src="pouet.jpg" alt="toto" />',
'<img src="math/a-greater-than-b.png" alt="a > b">');
foreach (@images) {
if (/<img\s+(([a-z]+=".*?")+\s*)>/) {
print "Match : <img $1 />\n";
}
}
가 생산 펄에 노력했다. 그것은 당신이 사용하는 정규 표현식이 lookbehind (Ruby와 JavaScript는 그렇지 않지만 대부분의 사람들이하는)를 지원해야합니다. 역 참조 번호 1은 일치를 포함하므로이 정규 표현식을 검색하고 \1/>
으로 바꾸면 잘 읽어야합니다.
당신이 >
내부 속성의 가능성을 설명해야하는 경우 예를 들어,
<img src="image.gif" alt="hey, look--->">
<img src="image/image.gif">
하고 혼자
<img src="image/image.gif" />
두고이 일치
(<img("[^"]*"|[^>])+)(?<!/)>
을 사용할 수 있습니다 .
참으로 좋은 질문입니다 +1! – ant
HTML 또는 XHTML을 사용하고 있습니까? – Gumbo
그는 HTML을 사용하고 있고 XHTML로 전환해야하는 것처럼 보입니다. 그렇습니까? –