前提・実現したいこと
GASのParserと正規表現を使って、aタグの中からリンクとテキストを抽出したい。
発生している問題
liタグの中のaタグを抽出しようとすると、偶数番のli要素だけ抜け出せません。
試しに全く同じliとaタグにしてテストしたのですが、どうしても偶数番だけnullになってしまいます。
該当のソースコード
function extractLink() { const str = ` <li><a href="https://example.com/">テスト1</a></li> <li><a href="https://example.com/">テスト2</a></li> <li><a href="https://example.com/">テスト3</a></li> <li><a href="https://example.com/">テスト4</a></li> ` const lists = Parser.data(str).from('<li>').to('</li>').iterate() const linkRegExp = /<a.*?href="(.*?)".*>(.*?)</a>/g for (let list of lists) { const linkUrl = linkRegExp.exec(list) console.log(linkUrl) } }
↓ 結果
奇数番のテスト1とテスト3は成功しますが、テスト2とテスト4が抽出できません。
9:51:49 情報 [ '<a href="https://example.com/">テスト1</a>', 'https://example.com/', 'テスト1', index: 0, input: '<a href="https://example.com/">テスト1</a>', groups: undefined ] 9:51:49 情報 null 9:51:49 情報 [ '<a href="https://example.com/">テスト3</a>', 'https://example.com/', 'テスト3', index: 0, input: '<a href="https://example.com/">テスト3</a>', groups: undefined ] 9:51:49 情報 null
試したこと
テスト2/テスト4のリンクのタグの書き方に問題があるかと思い、テスト2だけで抽出してみると、問題なく抽出可能です。
偶数番の所だけ抽出できない原因が分かれば教えて下さい。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/17 09:31