正则表达式从元刷新标签扫描 html 和 return URL

regex to scan html and return the URL from a meta refresh tag

我正在尝试扫描 html 内容以查找源代码是否包含元刷新标记,以便获得 URL。

以下是我见过的元 http-equiv="refresh" 标签的一些案例

<META HTTP-EQUIV="refresh" CONTENT="0;URL=https://example.de/">
<META HTTP-EQUIV="refresh" CONTENT="0; URL=https://example.com/test">
<meta http-equiv="refresh" content='0;URL=/test' />
<meta http-equiv='refresh' content='0; URL=/test' />

这是我想出的他

$url = response.body.scan(/(CONTENT="0;URL=)(.*?)(">)/)

/(CONTENT="0;URL=)(.*?)(">)/ 将在没有 space 的第一个实例中正常工作; URL 不为别的。

谁能帮我写一个适用于所有 4 种情况的正则表达式?

试试这个:

 $url = response.body.scan(/(CONTENT|content)=["']0;\s?URL=(.*?)(["']\s*\/?>)/)