当前位置: 首页 > 面试题库 >

从HTML标记获取属性的正则表达式

祝宏放
2023-03-14
问题内容

我正在寻找一个正则表达式,可以从Java中的HTML片段中获取src(不区分大小写)标签。

<html><img src="kk.gif" alt="text"/></html>
<html><img src='kk.gif' alt="text"/></html>
<html><img src = "kk.gif" alt="text"/></html>

问题答案:

一种可能性:

String imgRegex = "<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>";

是可能的(如果不区分大小写地匹配)。这有点混乱,故意忽略了不使用引号的情况。要表示它而不必担心字符串转义:

<img[^>]+src\s*=\s*['"]([^'"]+)['"][^>]*>

这符合:

  • <img
  • 一个或多个不是的字符>(即可能的其他属性)
  • src
  • 可选空格
  • =
  • 可选空格
  • '或的起始定界符"
  • 图片来源 (可能不包含单引号或双引号)
  • 结束定界符
  • 尽管表达式可以在此处停止,但我随后添加:
    • 零个或多个不是的字符>(更多可能的属性)
    • > 关闭标签

注意事项:

  • 如果您还想包括src=,请将左方括号向左移动:-)
  • 这并不关心平衡定界符或无定界符属性值,并且它也可以呛严重形成的属性(例如包括属性>包括或图像源'")。
  • 用这样的正则表达式解析HTML是不平凡的,充其量是一种在大多数情况下都可以使用的快速破解。


 类似资料:
  • 我想验证输入的代码是否是HTML代码(必须以<代码> 我试着这么做 但是我有一个问题需要在代码中做一个\n,我需要验证第一个和结束标签(=

  • 我正在寻找一个正则表达式,它必须在不同类型的HTML标记之间提取文本。 对于前任: <代码> <代码> <代码> 我找到了这个特殊的片段

  • 使用regex,我希望能够获得多个html标记之间的文本。这里的HTML只是为了表示输入,我不担心HTML标签,只是想检索HTML标签中的内容(在正确的开始和结束标签之间)。例如,以下内容: 所需输入: 所需输出: 获得的输出: Regex我尝试过: 我没有得到预期的结果。 我的java代码:

  • 问题内容: 我正在尝试提取锚标记()的属性。到目前为止,我有这个表达: 适用于像 和(单引号) 但不适用于不带引号的字符串: 如何修改我的正则表达式,使其与不带引号的属性一起使用?还是有更好的方法来做到这一点? 更新: 谢谢您到目前为止的所有好评和建议。 我没有提到一件事:很遗憾,我必须修补/修改不是由我编写的代码。而且没有时间/金钱从头开始重写这些东西。 问题答案: 如果你有一个像 此正则表达式

  • 我有一根绳子,看起来像这样:

  • 本文向大家介绍php过滤HTML标签、属性等正则表达式汇总,包括了php过滤HTML标签、属性等正则表达式汇总的使用技巧和注意事项,需要的朋友参考一下 清除空格,换行 过滤HTML属性 1,过滤所有html标签的正则表达式: 3,过滤部分html标签的正则表达式的排除式(比如排除<p>,即不过滤<p>): 4,过滤部分html标签的正则表达式的枚举式(比如需要过滤<a><p><b>等): 5,过滤