7

欲張りでない試合をする必要があり、誰かが私を助けてくれることを願っています。私は次のものを持っています、そして私はJavaScriptとASPを使用しています

match(/\href=".*?\/pdf\/.*?\.pdf/)

上記の一致は、hrefタグの最初の開始と一致します。フォルダの一部である最後のhrefとのみ一致する必要があり/pdf/ます。

何か案は ?

4

1 に答える 1

6

部分式の一致には、キャプチャ括弧を使用する必要があります。

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>
于 2010-03-11T12:59:57.383 に答える