2008-09-16 5 views
79

私は、Nantの命名パターンの文法的イントラカード(例えば、ファイルセットで使用されるもの)を常に忘れてしまったことを認めなければなりません。二重のアスタリスク/アスタリスクのアスタリスクは、私の心の中で非常に忘れがたいようです。Nant/Ant命名パターンはどのように使用しますか?

誰かがネーミングパターンについての明確なガイドを提供できますか?

+3

I基準を読みました。それをもう一度読んでください。それをもう一度読んでください。私はそれが本当に貧弱な例を持っていると思っていて、そのメッセージが不明です。 – berko

+0

あなたはあなたが獲得しようとしているものを正確に指定することができ、誰かがより良い答えを出すことができますか? –

答えて

185

ルールは以下のとおりです。パス名内

  • シングルスター(*)は、ゼロ以上の文字に一致し
  • 二重星(**)は、ゼロ以上の文字のディレクトリレベルにわたってと一致します
  • 疑問符(?)パス名の中には1つの文字を

Anotheそれについて考える方法はダブルスター(**)はスラッシュ(/)にマッチしますが、シングルスター(*)はマッチしません。

のは、あなたがファイルを持っているとしましょう:

  1. bar.txt
  2. のsrc/bar.cに
  3. のsrc/baz.c
  4. のsrc /テスト/ bartest.c

パターン:

  • *.c                      何がある(何にもマッチしません。現在のディレクトリにCファイル)
  • src/*.c        試合2及び3
  • */*.c                試合2及び3(* 1つのレベルのみ一致するため)
  • **/*.c            は2,3,4と一致します(**は任意の数のレベルに一致するため)
  • bar.*                マッチ1
  • **/bar.*    マッチ1及び2つの
  • **/bar*.*マッチ1、2、及び4
  • src/ba?.cマッチ2及び3      
+4

これはNantの参考文献よりはるかに良い説明だと思います。乾杯! – berko

+0

src/*/**とは何が一致していますか?私はそれが4であると期待しますが、mavenを使った私の経験は、あなたが必要とする任意のフォルダ内のファイルと一致することを示すようです。src/*/*/** –

+1

'**。 – chharvey

2

Nant referenceをご覧ください。ファイルセットパターンは次のとおりです。

'*'は0個以上の文字に一致します。 * .cs
'?' 1文字に一致します。 ?.cs

「**」はディレクトリツリーに一致します。 src/**/*。csは、srcの任意のサブディレクトリにあるすべてのcsファイルを検索します。

3

ダブルアスタリスク(**)はフォルダ名と一致していますが、アスタリスク(* = multi characters)と疑問符(? = single character)はファイル名の一致に使用されます。

10

ここでは、いくつか余分なパターンマッチがありますが、これはドキュメントからはあまり分かりません。

  • src**                                          試合2、3、4
  • **.c:benzadoの答えの例ファイルのためのNAntを使用してテスト3210                                            マッチ2、3、及び4
  • **ar.*
  •                                      マッチ1及び2
  • **/bartest.c/**  マッチ4
  • src/ba?.c/**              マッチ2及び3
+2

小さなメモ:ant(1.8.2)\ **。cは\ **/\ *の代わりになりません.c – nonsenz

関連する問題