【发布时间】:2014-07-30 01:19:10
【问题描述】:
我想将此 Ruby 正则表达式转换为 JavaScript 之一:
/\<br \/\>\<a href\=(.*?)\>([0-9]+\:[0-9]+)\<\/a\> \<a href\=\'.*?\' target\=\_blank\>(.*?)(?=\<\/a\>\<br\>\<p.*?\<\/p\>\<br \/\>\<a href\=.*?\>([0-9]+\:[0-9]+)\<\/a\> \<a href\=\'.*?\' target\=\_blank\>.*?\<\/a\>.*?\<br \/\>)/m
它在 Ruby 中完美运行,但在 Chrome JavaScript 控制台中却不行。然后我将使用它从网页源 HTML 代码 (document.body.innerHTML) 中提取一些信息,并使用此处描述的 scan 方法使用 JavaScript 函数:JavaScript equivalent of Ruby's String#scan
我认为前瞻 (?= ) 在 JavaScript 中可能存在问题,最重要的是它包含一个捕获组。可以转换吗?
【问题讨论】:
-
强制不要这样做link
标签: javascript ruby regex innerhtml lookahead