欲張りでない試合をする必要があり、誰かが私を助けてくれることを願っています。私は次のものを持っています、そして私はJavaScriptとASPを使用しています
match(/\href=".*?\/pdf\/.*?\.pdf/)
上記の一致は、hrefタグの最初の開始と一致します。フォルダの一部である最後のhrefとのみ一致する必要があり/pdf/
ます。
何か案は ?
欲張りでない試合をする必要があり、誰かが私を助けてくれることを願っています。私は次のものを持っています、そして私はJavaScriptとASPを使用しています
match(/\href=".*?\/pdf\/.*?\.pdf/)
上記の一致は、hrefタグの最初の開始と一致します。フォルダの一部である最後のhrefとのみ一致する必要があり/pdf/
ます。
何か案は ?
部分式の一致には、キャプチャ括弧を使用する必要があります。
match(/\href=".*?(\/pdf\/.*?\.pdf)/)[1];
Match は、インデックス 0 で一致全体を含む配列を返します。すべての部分式キャプチャは、一致した順序で配列に追加されます。この場合、 index1
にはセクションに一致する が含まれます\/pdf\/.*?\.pdf
。
.*?
範囲が広すぎる場合
よりも、正規表現をより具体的にしてみてください。例えば:
match(/\href="([^"]+?\/pdf\/[^\.]+?\.pdf)"/)[1];
[^"]+?
二重引用符を含まない文字列と遅延一致します。これにより、一致が引用符内にとどまるように制限されるため、たとえば、次の文字列で一致が広すぎることはありません。
<a href="someurl/somepage.html">Test</a><a href="dir/pdf/file.pdf">Some PDF</a>