入力(textbox.text)正規表現パターンに基づいて文字列を検証しようとしています。C#でテキストbux入力 " q"で正規表現オブジェクトを作成
Regex regX = new Regex(TextBox1.Text);
失敗しています。しかし
Regex regX = new Regex(@"\q");
はうまくいきます。
ユーザーの正規表現パターンに基づいて文字列を検証する最適な方法を提案できますか?
入力(textbox.text)正規表現パターンに基づいて文字列を検証しようとしています。C#でテキストbux入力 " q"で正規表現オブジェクトを作成
Regex regX = new Regex(TextBox1.Text);
失敗しています。しかし
Regex regX = new Regex(@"\q");
はうまくいきます。
ユーザーの正規表現パターンに基づいて文字列を検証する最適な方法を提案できますか?
あなたはこのようにそれを使用する前に、パターンを検証することができます:How to validate a Regular Expression?
あなたのコードを使用すると、ボタンを使用しているどのように現れてイマイチ:検証するための
public void DoSomething()
{
string pattern = TextBox1.Text;
if(IsRegexPatternValid(pattern))
{
Regex regX = new Regex(pattern);
}
else
{
// handle invalid patterns here
return;
}
}
public static bool IsRegexPatternValid(String pattern)
{
try
{
new Regex(pattern);
return true;
}
catch { }
return false;
}
ソース。しかし、あなたはKeyDown
またはTextChanged
ハンドラを縛っていると思います。この場合、検証が必要になります。
TextBox1.Textには有効な正規表現が含まれていない可能性があります。デバッガを使用してTextBox1.Textの値を確認してください –
@Adiどのように失敗しますか?エラーは何ですか?それとも、期待どおりに機能しないのですか? – Tibrogargan
ユーザが入力するはずの正規表現パターンやリテラルは何ですか? –