正規表現を使用して、.xls または .xlsx テキストを含む href を取得したい
この正規表現に固執したい
<a\s*[^>]*\s*href\s*=\s*((?:[^ ]|[\n\r])+)\s*[^>]*>.*?<\/a>
しかし、アンカー タグに .xls または .xlsx テキストを含むリンクのみを取得できるようにするには、ここに何を追加すればよいでしょうか。
このように実行すると、多くの潜在的な問題が発生しますが、JavaScript を使用します。
var re = new RegExp(/<a\s*[^>]*\s*href\s*=\s*((?:[^ ]|[\n\r])+)((\.xls)|(\.xlsx))\s*[^>]*>.*?<\/a>/ig);
txt = 'ok, here you go: <a href="test.xls">test file</a> and <a href="http://not.test.com">not file</a>, but another <a href = "http://www.xls.com/test.xls">test file</a>!';
txt.match(re)
=> ['<a href="test.xls">test file</a>', '<a href = "http://www.xls.com/test.xls">test file</a>']