.matchと正規表現を使って文字列に「https://auctions.yahoo.co.jp/closedsearch/...」が含まれるURLだけ取得したい。
デリミタと同じ文字はエスケープが必要なので色々試してみたのですが・・・
// httpsのみだと取得できる var urls = list.match(/https://.+?(?=")/g);
function test(){ // https://auctions.yahoo.co.jp/closedsearch/..を含むを指定するとエラーになる。 var newUrls = 'https://auctions.yahoo.co.jp/closedsearch/closedsearch?auccat=23176&aucminprice=3000&b=1&n=100&rewrite_category=0'; var html = UrlFetchApp.fetch(newUrls).getContentText(); /*ul内にあるリンクを取得*/ var list = Parser.data(html) .from('<ul class="Pager__lists">') .to("</ul>") .iterate(); var urls = list.match(/https://auctions.yahoo.co.jp/closedsearch///.+?(?=")/g); Logger.log(urls); }
正規表現が実現したいものになっていないのは確かですが、提示されているエラーが正規表現が原因のものとは思えません。
正規表現とは無関係の問題をすべて取り除き、正規表現のみに絞った質問内容に修正してください。
回答1件
あなたの回答
tips
プレビュー