2011-01-17 9 views
1

私は、次のコードを持っている:この正規表現の問題点は何ですか?

Regex scale = new Regex(@"/^(\d+)x(\d+)-([a-zA-Z0-9]+(\.jpg)?)$/"); 
Match m = scale.Match(alias); 
if (m.Success) 
{ 
    //do something 
} 

エイリアスは、10x10-uu.jpgが含まれていると一致していない - 成功は常にfalseです。

私は間違っていますか? :-)ありがとう。

+4

...正規表現であるということが問題です。 –

+0

@ Mr Dあなたは私にそれを打つ。 :) –

答えて

10

区切り記号は.NET正規表現では不要ですが、これらはPCREとJavaScriptの正規表現にのみ含まれています。あなたのフォワードスラッシュは文字通り扱われています。つまり、/^$/という意味になります。

@"^(\d+)x(\d+)-([a-zA-Z0-9]+(\.jpg)?)$" 
+0

heh、ありがとう!私ができるとき答えとしてマークしなければならない – Sergio

+0

まあそれは迷惑です。なぜ彼らはPCREモードを持っていないのですか? –

+0

@the_drow:マイクロソフトはいつも自分自身を回したいと思って、ホイールを改造して、ヤダダダ... – BoltClock