0

PDF ではない特定のフォルダーへのリンクを含む HTML ドキュメント内のすべての href 属性を一致させようとしています。私はそれを一致させるのに苦労しています.すべてのPDFを取得するものがあります:

var regexPDF = new RegExp('href=[\'|"](assets/.*?\.pdf)?[\'|"]','gi');

しかし、PDF を除外しようとしても、うまくいきませんでした。私が求めていることを行う方法はありますか、またはすべてのファイルを照合してから、条件ステートメントを使用して PDF であるかどうかを確認する方がよいですか? タ!

ダレン

4

2 に答える 2

0

負のパターンは、正規表現があまり得意ではないものです。ただし、次のようなことができます。

var regexPDF = /[^.]*?\.(?!pdf)/gi;

// examples
"test.exe".match(regexPDF) // returns "test."
"test.pdf".match(regexPDF) // returns null

これには、(結果が必要な場合に備えて) ファイルの種類が表示されないという欠点がありますが、すべての pdf を除外します。また、ファイル名のドットで壊れますtest.pdf.bak(ただし、必要に応じてこれを認識するように正規表現を拡張できます)。

補足: 正規表現コンストラクターを使用しないでください。むしろ、単純な正規表現リテラル表記法を使用してください/.../

于 2013-06-04T11:48:43.190 に答える