./mediaで始まる文字列に一致させようとしています
次の正規表現があります。
bool match = Regex.IsMatch(@"^\./media", imgSourcePath);
私のソース文字列は次のようになります: ./ media / somefile.png
この式を他のツールでテストすると、期待どおりに機能します。ただし、C#ソースの実装で一致するものが見つかることはありません。誰かが理由を教えてもらえますか?
ありがとう!
パラメータが逆になっているようです: Regex.IsMatch(String input, String pattern)
。これを試して:
var m = Regex.IsMatch("./media", "(./media)(.*?)", RegexOptions.IgnoreCase |
RegexOptions.Singleline);
MessageBox.Show(m.ToString()); //displays true
http://msdn.microsoft.com/en-us/library/sdx2bds0.aspx#Y30
入力とパターンが逆になっています。一致を検索する文字列を最初のパラメーターにし、使用するパターンを 2 番目のパラメーターにする必要があります。