gpt4 book ai didi

java - 从 HTML 标签获取属性的正则表达式

转载 作者:太空狗 更新时间:2023-10-29 23:00:20 25 4
gpt4 key购买 nike

我正在寻找一个正则表达式,它可以从 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 并非易事,充其量只是一种适用于大多数情况的快速破解方法。

关于java - 从 HTML 标签获取属性的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1079423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com