正则表达式扫描html并从元刷新标记返回URL

Sha*_*fun 0 ruby regex html-parsing ruby-on-rails-4

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

以下是我见过的meta 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' />
Run Code Online (Sandbox Code Playgroud)

这是我想出的

$url = response.body.scan(/(CONTENT="0;URL=)(.*?)(">)/)
Run Code Online (Sandbox Code Playgroud)

/(CONTENT="0;URL=)(.*?)(">)/将首次正常工作,没有空格; 和URL不是其他任何东西.

有人可以帮助我使用适用于所有4种情况的正则表达式吗?

小智 5

试试这个:

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