Как проверить указанное регулярное выражение в c # - PullRequest
0 голосов
/ 20 марта 2019

Я новичок в регулярных выражениях и хочу проверить, удовлетворяет ли строковая переменная указанному выражению, например так:

R|numeric_value|^value0^^^value1|value2|value_or_null|date_value

Примечание. Символы (| и ^) являются обязательными статическими символами и рассматриваются как разделители полей

помогите, пожалуйста!

Заранее спасибо

1 Ответ

1 голос
/ 20 марта 2019

Вы можете использовать онлайн-сервисы, такие как http://regexstorm.net/tester, но для обучения.Я рекомендую подход TDD с xUnit, например https://xunit.github.io/.

С чем-то вроде этого:

[Theory]
[InlineData("input_1", "pattern")]
[InlineData("input_2", "pattern")]
[InlineData("input_x", "pattern")]
public void ShouldMatch(string input, string pattern)
{
  try
  {
    var isMatch = Regex.IsMatch(input, pattern);
    Assert.True(isMatch);
  }
  catch (ArgumentException)
  {
    Assert.True(false);
  }
}

РЕДАКТИРОВАТЬ:

Спасибовам за ваш ответ, но как может быть шаблон?

  1. Прочитайте документацию .Net язык регулярных выражений - краткий справочник .
  2. Разделите вашрегулярное выражение с помощью логических операторов OR / AND / NOR / NAND / etc.
  3. Используйте шаги цикла Tdd .
  4. Решите первое выражение.
  5. Решитевторое выражение.
  6. Решите оба выражения с помощью логических операторов OR / AND / NOR / NAND / etc между первым и вторым выражением.
  7. И т.д.

Послеэто маленькое упражнение.Вы лучше поймете, как создавать шаблоны самостоятельно.

...