5
Мне нужно, чтобы проверить, что пользователь ввел текст в формате:C# регулярное выражение помощь - проверка ввода
####-#####-####-###
Могу ли я сделать это с помощью Regex.Match?
Мне нужно, чтобы проверить, что пользователь ввел текст в формате:C# регулярное выражение помощь - проверка ввода
####-#####-####-###
Могу ли я сделать это с помощью Regex.Match?
Я хотел бы сделать что-то вроде этого:
private static readonly Regex _validator =
new Regex(@"^\d{4}-\d{5}-\d{4}-\d{3}$", RegexOptions.Compiled);
private static bool ValidateInput(string input)
{
input = (input ?? string.Empty);
if (input.Length != 19)
{
return false;
}
return _validator.IsMatch(input);
}
Разве это не только цифры? Это правда, что в вопросе не указывается точно, что такое «текст». –
@ Liviu - Обычно я интерпретирую ** # ** в качестве числового заполнителя. – ChaosPandion
Зачем решать проблему с проверкой длины и иметь несколько возвратов, является ли работа с предварительно скомпилированным регулярным выражением настолько дорогостоящей, что это не стоит делать? Я просто позволю ему не сгенерировать регулярное выражение и сделать метод более простым. Я так же использую, что вы используете \ d вместо [0-9] – dstarh