Как проверить, если строка имеет определенный формат в C # - PullRequest
1 голос
/ 16 марта 2012

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

i) 6.2.****.0

ii) 6.2.****.0000

Где * представляет любую цифру от 1-9

Как мне добиться этого с помощью C #?Пожалуйста, дайте мне знать, каким образом (с меньшим количеством кода) может помочь мне достичь этого?Если я могу использовать регулярные выражения, как использовать то же самое для выполнения вышеуказанных проверок?

Ответы [ 2 ]

7 голосов
/ 16 марта 2012

Если вы просто ищете цифру (а не префикс i)) и должно быть 4 цифры, попробуйте следующее

if (Regex.IsMatch(theString, @"6\.2\.[1-9]{4}\.0+")) {
  // It's a match
}

Примечание: это будет фактически соответствовать этому конкретному шаблону в любом месте строки. Если вы хотите увидеть, соответствует ли вся строка этому шаблону, вам нужно использовать следующее

if (Regex.IsMatch(theString, @"^6\.2\.[1-9]{4}\.0+$")) {
  // It's a match
}
0 голосов
/ 16 марта 2012
if (Regex.IsMatch(text, @"(^6\.2\.[1-9]{4}\.0{4}$)") || Regex.IsMatch(text, @"(^6\.2\.[1-9]{4}\.0$)"))
{
    // some code
}

или

if (Regex.IsMatch(text, @"(\A6\.2\.[1-9]{4}\.0{4}\Z|\A6\.2\.[1-9]{4}\.0\Z)"))
{
    // some code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...