标签的正则表达式-6ren"> 标签的正则表达式-我需要一个正则表达式来返回一个图像标签,该标签没有 alt 属性,引号之间有任何内容。例如,我希望它返回一个 img 标签,它有 alt=""或没有 alt,但没有 alt="y"。 图片标签中可能有-6ren">
gpt4 book ai didi

html - 查找没有 alt =".#"的 标签的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-04 15:34:44 25 4
gpt4 key购买 nike

我需要一个正则表达式来返回一个图像标签,该标签没有 alt 属性,引号之间有任何内容。例如,我希望它返回一个 img 标签,它有 alt=""或没有 alt,但没有 alt="y"。

图片标签中可能有换行符,每行可能有多个图片标签。

目前,我拥有的是:

<img.@(~[\r\n]|[\r\n])*.@(~(alt=".#"))*.@(~[\r\n]|[\r\n])*.@/>

我正在对此进行测试:

<img alt="" />
<img src="xyz.jpg"
alt="y" />
<img xxxx ABC />
<img xxxxxx ABC />
<img src="xyz.jpg" alt="y" />

但是我的正则表达式会返回每个图像标签,包括我不想返回的第 2 个和第 5 个图像标签。

我在 Microsoft Expression Web 工作。

最佳答案

最好的办法是使用 jQuery 将字符串解析为 html 节点,然后使用选择器从那里过滤它们。

var str = '<img alt="" /><img src="xyz.jpg" alt="y" /><img xxxx ABC /> <img xxxxxx ABC /><img src="xyz.jpg" alt="y" />';
var elementsWithoutAlt = $( str ).filter( 'not([alt])' );
console.log(elementsWithoutAlt.length);

'not([alt])' 将找到所有没有 alt 属性的元素。'img:not([alt])' 将找到所有没有 alt 属性的 'image' 元素。

演示:(单击渲染以查看实际效果) http://jsbin.com/imeyam/3/edit

jQuery 信息 http://api.jquery.com/has-attribute-selector/

关于html - 查找没有 alt =".#"的 <img/> 标签的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10197558/

25 4 0
文章推荐: html - 在无序列表中定位
文章推荐: html - 样式化