方法について:
\d+-[^-]+-[^-]+\.sql
編集:あなただけの手紙をしたいので、ここにはなくてです特定の範囲。
\d+-[a-z]+-[a-z]+\.sql
- あなたはまた、それは、C#で行うのかどうかはわかり、i
フラグを使用しないようにしたいでしょうが、ここでは、JS/perlである:
/\d+-[a-z]+-[a-z]+\.sql/i
範囲がより困難です。ここでは0〜255と一致する方法の例です:
([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])
ので-text-text.sql(0〜255)を一致させるために、あなたはこの必要があるだろう:
/^(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])-[a-z]+-[a-z]+\.sql/i
を(私は数字を非捕捉グループに入れ、数字の部分一致を防ぐために文字列の先頭から一致させ、番号付きのグループなどを期待している場合に備えて)。
基本的には、可能性の別の数字が必要になるたびに、このケース内に新しい条件を追加する必要があります。一致させる数字が小さいほど、必要なケースが増えます。あなたの最小/最大は何ですか? AFAIKでは、これを動的に行う簡単な方法はありません(ただし、私が誰かに私がそれについて間違っていることを示すのは大好きですが)。
これを回避する最も簡単な方法は、数字をキャプチャし、ネイティブ構文を使用して範囲内にあるかどうかを確認することです。 JSでの例:
var match = filename.match(/(\d+)-[a-z]+-[a-z]+\.sql/i);
if(match && match[1] < maximumNumber && match[1] > minimumNumber){
doStuff();
}
「テキスト」を定義します。文字、スペース、句読点、数字? –
テキストには文字のみが含まれます – Theomax
また、 'number'と' two numbersの間に 'を定義します。いくつかの例は、誤解を防ぐのに役立ちます。 –