2012-03-07 3 views
0

正規表現について学び始めました。私が必要とするのは、スラッシュの後に "C"と3つの大文字/数字の後にスラッシュとそれに続くものがあるかどうかを調べることです。/CXXX /をテストするための正規表現

var a = "/C001/dsafalkdsfjsadfj"; 
var b = "/CXXX/adsf"; 

ifテスト内でどのようにチェックすることができますか?

(正規表現){}

+1

あなたも、任意のドキュメントを読みましたか?この種のことは通常正規表現チュートリアルの最初の数ページで説明されています。申し訳ありません申し訳ありませんが、私は非常に多くの初心者正規表現の質問(またはむしろ、インスタントソリューションの要求)を見て退屈しています。 – teukkam

+0

新しい正規表現を設定してからカウントするよりも簡単な方法がある場合は、わかりません。 C#では、次のような簡単で簡単なテストがあります:if(a == "abc")?パターンのような "abc"ではなく、何か他のものです。 –

答えて

1

場合は、その方法を試してください。

あなたが書いた:

と、とにかくあなたの例ではありませんが、何も

が続いた後、別のスラッシュ:(

(あなたの応答に応じて:)

\/C[A-Z0-9]{3}\/[a-z]$ 

:(による)

\/C[A-Z0-9]{3}\/ 


Regex regex = new Regex (@"\/C[A-Z0-9]{3}\/$"); 
MatchCollection matches = regex.Matches(yourstring); 
if matches.Count>0... 
+0

\/C([A-Z0-9] {3})\ /.*$を正規表現として使用します。 –

+0

申し訳ありません。私が言いたいことは、それはスラッシュで始まり、C、そして3つの英数字、そして別のスラッシュを持つことだけです。 2番目のスラッシュの後には何かがありますが、それは文字の任意の組み合わせかもしれません。私は本当に第二のスラッシュの後ろに気にしません。ありがとう。 –

+0

@Royiコンパイルするために逐語文字列リテラルを追加しました。 '\ /'は厳密には必要ではないことに注意してください。AFAIK - ちょうど '/'でもかまいませんが、どちらの方法でも動作します。 –

0
string input = "/C001/dsafalkdsfjsadfj"; 
var pattern = @"/C[A-Z0-9]{3}/.*"; 
var matches = Regex.Matches(input, pattern); 
string result = ""; 
for (int i = 0; i < matches.Count; i++) 
{ 
    result += "match " + i + ",value:" + matches[i].Value + "\n"; 
} 
Console.WriteLine("Result:\n"+result); 
関連する問題