Строка C # начинается с регулярного выражения числа
Вопрос
Я немного искал, чтобы выяснить, как подтвердить, что строка начинается с числа.Я наткнулся на оператор регулярного выражения '/ ^ \ 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 в целое число, вы получили число в начале строки.