如何使用正则表达式计算没有alt标签的img标签

时间:2015-11-04 12:40:00

标签: c# asp.net regex

如何使用正则表达式计算无alt 标记的img代码?

 MatchCollection AltTag = Regex.Matches(
     strIn,
     "<img .*? />", 
     RegexOptions.IgnoreCase | RegexOptions.Multiline
 );
 lblImgTags.Text = "We found " + AltTag.Count.ToString() + " images on this website ";

我正在计算img这样的标签但是如何计算没有alt标签的img个标签?

3 个答案:

答案 0 :(得分:2)

  

如何使用正则表达式计算没有alt标签的img标签

你做不到。你cannot use regular expressions to parse HTML。你可能认为你有一个足够包含的用例。我也是。我错了,尊重,我害怕你也一样。

使用HTML解析器解析HTML。有几个,比如NSoup,它是优秀的Java JSoup库的.Net端口。但这只是许多人的一种选择。

答案 1 :(得分:0)

^(?=.*<img)(?!.*alt).*

是正则表达式

答案 2 :(得分:0)

要计算,请使用前瞻来尝试。 regex101 demo

<img\s(?![^>]*\balt\s*=)

或者匹配标签要贵一些。 regex101 demo

<img\s(?:(?!\balt\s*=)[^>])+>

与您的RegexOptions.IgnoreCase

一起使用