Я намагаюся перевірити рядок на основі вхідного (textbox.text) шаблону регулярного виразу.
Regex regX = new Regex(TextBox1.Text);
Це не вдається. Але
Regex regX = new Regex(@"q");
працює добре.
Чи можете ви запропонувати найкращий спосіб перевірки рядка на основі шаблону користувача?
Відповіді:
0 для відповіді № 1Можна перевірити шаблон, перш ніж використовувати його так:
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
обробників. У цьому випадку необхідна перевірка.