在 Google Apps Scripts 中,我尝试使用以下函数使用 RegExp 匹配 URL。
function testRegex(){
var str = "href='https://sites.google.com/a/domain.com/image-store/images/Image1.jpg?attredirects=0'";
var regex = new RegExp('http[:a-zA-Z\.\/\-_]{0,100}Image1.jpg', 'gi');
str = str.replace(regex,"new_url");
Logger.log(str);
}
当我在http://www.regular-expressions.info/javascriptexample.html向正则表达式测试器中输入相同的正则表达式和字符串时,它可以工作。但是,它在 Google Apps 脚本中不起作用。
任何想法为什么?
编辑:我认为问题出在下划线上。替换为 \w 有帮助。所以,当我用
https[\.a-zA-Z0-9\/+:\w-]{0,100}Image1.jpg
有用。
但是,它仍然不匹配下划线。例如,它不适用于以下 URL
https://sites.google.com/a/domain.com/image-store/_/rsrc/1351707816362/images/Image1.jpg