正则表达式:如果宽度或高度小于100px,则匹配<img/>标记

时间:2012-09-17 15:37:52

标签: regex nsregularexpression

我很想通过使用Apples NSRegularExpressions匹配并删除它们来摆脱rssfeed中的一些小图像。

<img src="somepic" height="1" width="1"> should be matched for removal
<img src="somepic" height="50" width="100"> -> should also be matched
<img src="somepic" height="100" width="100"> -> this one should not be matched

我目前的方法尚未奏效

<img(\s*[height|width]\s*=\s*"([0-9]|[1-9][0-9])"\s*+|[^>]+?)*>

我的猜测是捕获组存在一些问题(可能根本不需要)。有没有人提示为什么它不起作用?

2 个答案:

答案 0 :(得分:2)

试试这个正则表达式:

<img[^>]*(?:height|width)\s*=\s*"[1-9]?[0-9]"[^>]*>

它解决了Mattias Buelens在评论中提到的小问题。

rubular

答案 1 :(得分:1)

这是c#正则表达式

(?<=<img).*?(height="([0-9]|[1-9][0-9])".*?width="([0-9]|[1-9][0-9])"|width="([0-9]|[1-9][0-9])".*?height="([0-9]|[1-9][0-9])").*?(?=>)

希望这会有所帮助..