用正则表达式获取alt标签

时间:2009-05-06 09:14:39

标签: regex

我正在解析一些HTML源代码。是否有正则表达式脚本来确定html文档中的alt标记是否为空?

我想看看alt标签是否为空。

正则表达式适用于此,还是应该在C#中使用字符串操作?

4 个答案:

答案 0 :(得分:2)

您必须解析HTML并检查标记,使用以下链接,它包含用于解析HTML标记的C#库,您可以遍历标记并获取标记数量:Parsing HTML tags

答案 1 :(得分:0)

如果这是有效的XHTML,为什么你需要Regex?如果您只是搜索字符串:

alt=""

...您应该能够找到所有空的alt标签。

在任何情况下,考虑到写得不好的HTML标记(尤其是空格),构建搜索的正则表达式也不应该太复杂:

alt\s*=\s*"\s*"

答案 2 :(得分:0)

如果您只想查看页面,那么CSS选择器可能会更好,假设您的浏览器支持:not selector。

安装selectorgadget书签。在页面上激活它,然后将以下选择器放在输入框中,然后按Enter键。

img:not([alt])

如果您要对其进行自动化,并且可以访问HTML的DOM,则可以使用相同的选择器。

答案 3 :(得分:0)

正则表达式在解析HTML方面根本不好(请参阅Can you provide some examples of why it is hard to parse XML and HTML with a regex?了解原因)。你需要的是一个HTML解析器。有关使用各种解析器的示例,请参阅Can you provide an example of parsing HTML with your favorite parser?