複雑なパターンを使用してディレクトリ内のファイルを検索する
-
03-07-2019 - |
質問
Antで使用されているような複雑なパターンを使用して、ディレクトリからファイルまたはディレクトリを取得するためのC#ライブラリを探しています:
-
dir1 / dir2 / ** / SVN / *
-> dir1 / dir2の下のディレクトリツリー内の任意の場所にあるSVNディレクトリ内のすべてのファイルに一致します -
** / test / **
->パスにテスト要素があるすべてのファイルに一致します(ファイル名としてのテストを含む)。 - ...
自分でコーディングする必要がありますか? NAntから必要なものを抽出しますか?または、このライブラリが存在し、Googleのスキルが悪い。
Directory.GetFiles(String path、String searchPattern)
はディレクトリパターンを処理せず、 NDepend.Helpers.FileDirectoryPath どちらでもない(これは、パス操作のための素晴らしいライブラリです)
解決
自分でコーディングするのはそれほど難しくありません。
System.IOメソッドで正しく作成された正規表現を使用して、フルパスを構築するだけです
他のヒント
" *"の定義に慣れていますか? 「スラッシュ以外のもの」としておよび" **" 「何でも」として?その場合、正規表現の変換は簡単に思えます。
* -> [^\/]*
** -> .*
次に、すべてのファイルを再帰的に列挙し、それらのパスが正規表現に一致するかどうかを確認する問題です。
所属していません StackOverflow