我正在尝试使用GAS从远程网址中提取所有网址但我当前的代码没有给我任何数据。任何人都可以告诉我什么是正确的正则表达式模式我应该使用所以我得到所有的http网址?使用logger.log的数组内容始终为空!
function getURLS()
{
var url = "http://www.someurlgoeshere.com/";
var options =
{
headers : {'Cache-Control' : 'max-age=0'}
};
var html = UrlFetchApp.fetch(url, options).getContentText();
var inner_links_arr= [];
var linkRegExp = /http"(.*?)"/gi; // regex expression object
var match = linkRegExp.exec(html);
while (match != null)
{
inner_links_arr.push(match[1]);
} //end of while
Logger.log(inner_links_arr);
}
答案 0 :(得分:0)
你的正则表达式没有正确匹配。您可以使用许多不同的在线工具测试您的正则表达式,并验证它们是否正确匹配。
((https?|ftp)://|www\.)[^\s/$.?#].[^\s]*
第一组parens,匹配www。或者https / http / ftp:// 外围的parens组,然后匹配任何不是空格的东西,/,$ ,.,?或#然后是最后一部分,匹配点之后的任何不是空格