Строка C # начинается с регулярного выражения числа

StackOverflow https://stackoverflow.com/questions/6372318

  •  28-10-2019
  •  | 
  •  

Вопрос

Я немного искал, чтобы выяснить, как подтвердить, что строка начинается с числа.Я наткнулся на оператор регулярного выражения '/ ^ \ d /', который, я могу подтвердить, говорит, если он начинается с цифры.Однако я не могу заставить его работать в приведенном ниже коде.Где я ошибся в операторе if(Regex.Match(info,"/^\d/"))?

родовое слово

пример данных (разделены табуляцией):
TicketID Статус URL InitCats PostRevCats ListNumClosed 555555 Закрытые http://5555555.com/searcho Вредоносные сайты 55555

Это было полезно?

Решение

Ваше регулярное выражение неверно./.../ - это соглашение javascript для определения регулярных выражений.Попробуйте это на C #:

родовое слово

Также обратите внимание, что вам следует использовать IsMatch, который возвращает логическое значение, иначе ваш код даже не скомпилируется.

И если вы хотите, чтобы строка начиналась с одной или нескольких цифр:

родовое слово

Другие советы

Для этого не требуется регулярное выражение.Попробуйте

родовое слово

Если вы хотите использовать регулярное выражение, удалите код //, чтобы он был просто Regex.IsMatch(info,@"^\d").

Это формат строки, которую вы передали в Regex.Match.

Правильный формат:

родовое слово

@ означает, что escape-символы (например, обратная косая черта) обрабатываются как обычные символы.Без него ваше регулярное выражение должно было бы быть "^\\d".

Ваше регулярное выражение неверно..Net не использует регулярные выражения в стиле Perl.Правильное выражение - @ "^ \ d".

И вы должны использовать Regex.IsMatch (...), если вы не собираетесь использовать MatchCollection из .Match ни для чего:

родовое слово

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

Теперь, если вы пытаетесь удалить все число, я бы преобразовал строку в массив символов и протестировал символы.

псевдо строка s="" для каждого c в символах { если c - число, то s += c еще выход для } преобразуйте s в целое число, вы получили число в начале строки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top