Regexクラスを使用して、c#プログラムに2つのOracleワイルドカード「%」と「_」を実装しようとしています。問題は、ワイルドカード「_」を使用する場合です。これは、1文字のみを受け入れる必要があるためですが、少なくとも1文字を使用するたびにtrueが返されます。手伝ってくれませんか?
これが私のコードです:
string filter, string1;
string wildcard1 = "[" + "\\d | " + "\\n | " + "\\s |" + "\\w]+";
string wildcard2 = "[" + "\\d | " + "\\n |" + "\\s | " + "\\w]{1}";
filter = Regex.Replace(filter, "%", wildcard1);
filter = Regex.Replace(filter, "_", wildcard2);
Regex regex1 = new Regex(filter, RegexOptions.IgnoreCase);
MatchCollection a = regex1.Matches(string1);
if (regex1.IsMatch(string1))
{
return true;
}