/ / Створити об'єкт регулярного виразу в C # з текстом bux введення “q” - c #, regex

створіть об'єкт регулярного виразу в C # з введенням введення тексту "q" - c #, regex

Я намагаюся перевірити рядок на основі вхідного (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 обробників. У цьому випадку необхідна перевірка.