使用regex获取alt标记

使用regex获取alt标记,regex,Regex,我正在解析一些HTML源代码。是否有正则表达式脚本来确定html文档中的alt标记是否为空 我想看看alt标记是否为空 正则表达式是否适用于此,或者我应该在C#中使用字符串操作?您必须解析HTML并检查标记,使用以下链接,它包括用于解析HTML标记的C#库,您可以循环遍历标记并获取标记数:。如果这是有效的XHTML,为什么需要正则表达式?如果只搜索字符串: alt=”“ 。。。您应该能够找到所有空的alt标记 在任何情况下,考虑到编写糟糕的HTML标记(尤其是带有空格的标记),为搜索构造正则表达

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

我想看看alt标记是否为空


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

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

如果这是有效的XHTML,为什么需要正则表达式?如果只搜索字符串:

alt=”“

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

在任何情况下,考虑到编写糟糕的HTML标记(尤其是带有空格的标记),为搜索构造正则表达式也不会太复杂:


如果您只想查看页面,那么CSS选择器可能更好,前提是您的浏览器支持:not选择器

安装bookmarklet。在页面上激活它,然后将以下选择器放入输入框并按enter键

img:not([alt])

如果您正在自动化它,并且可以访问HTML的DOM,那么您可以使用相同的选择器。

正则表达式在解析HTML方面根本不好(请参阅原因)。您需要的是一个HTML解析器。请参阅使用各种解析器的示例。

如果“alt=”“”是普通文本的一部分,双引号可以是单引号,如果HTML非常松散,甚至可能没有引号。是的,我很清楚这些可能性。OP没有提供足够的信息让我们做出明智的假设。抱歉。是的,由于上述问题,这是不可能的。但是,可以将该标记查找为双引号和单引号,还可以检查a(在alt中)和“(结束引号)旁边的空格.一个字符一个字符地阅读会使这变得非常容易。我现在使用WatiN查找alt标记,因为它有相关的方法。不过,解析是一个有趣的话题。是我还是最近有太多可怕的regexhtml问题?@annakata:频率在上升,这也是我的感觉。另一方面,有b甚至CSS/HTML问题也普遍增加。
img:not([alt])