Регулярное выражение для проверки конкретного шаблона в строке - PullRequest
0 голосов
/ 21 сентября 2019

Мне поручено использовать regex для проверки шаблона в строке вместо substrings по соображениям точности.

string выглядит следующим образом:

Iнеобходимо убедиться, что string имеет формат [GMT-CASE_ <6 цифр>] .


Пример string:

[GMT-CASE_000001] Запрос на ...

Могу ли я узнать, как это можно сделать?

Спасибо.

Ответы [ 3 ]

1 голос
/ 21 сентября 2019

Вы можете использовать

\[GMT-CASE_[0-9]{6}\]

Объяснение:

\[GMT-CASE_

Это начинается с литерала [GMT-CASE_.Так как квадратные скобки имеют особое значение в регулярных выражениях, вам нужно экранировать их обратной косой чертой.

[0-9]{6}

Любой символ от 0 до 9, повторяемый 6 раз.

\]

закрывающая скобка, снова необходимо экранировать.

В качестве альтернативы вы можете использовать \d вместо [0-9] для цифр.Это также будет соответствовать нелатинским цифрам, таким как арабский ٦.

1 голос
/ 21 сентября 2019

Один из возможных ответов будет \[GMT-CASE_[0-9]{6}\]

Проверьте это https://regex101.com/r/tuDioP/1

0 голосов
/ 21 сентября 2019

попробуйте использовать @ перед строкой и обратную косую черту перед скобками

Regex rx = new Regex(@"\[GMT-CASE_[0-9]{6}\]");
Console.WriteLine(rx.IsMatch("[GMT-CASE_000001]"));

;Используйте @ before, чтобы избежать \ поведения, также, если вы хотите только одно совпадение, важно упомянуть начало и конец регулярного выражения ^ .. $

Regex rx = new Regex(@"^\[GMT-CASE_[0-9]{6}\]$");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...