#re&ex
#регулярное выражение
Вопрос:
Может ли кто-нибудь дать мне регулярное выражение для числа в диапазоне от 1 до 5, состоящего из одной цифры
например, ввод должен быть числом от 1 до 5, 55 или 23 не будут совпадать
Комментарии:
1. Зачем использовать регулярное выражение в этом случае, когда вы можете использовать выражение условия, которое будет работать намного лучше.
2.
between
Означает включительно 1 и 5 (1,2,3,4,5) или исключительно (2,3,4)?3. Какой тип / движок регулярного выражения? На каком языке программирования? Когда вы говорите «число», вы имеете в виду «целое число»? И обязательно ли это должно быть регулярное выражение? Регулярное выражение — неправильный инструмент для выполнения математики.
Ответ №1:
Попробуйте использовать якоря:
/^[1-5]$/
Объяснение:
^ Начало строки. [1-5] Цифра от 1 до 5. $ Конец строки / strin&.
Ответ №2:
Не было бы проще проверить его как число (т. Е. if(x&&t;= 1 amp;amp; x <= 5) или что-то подобное), а не использовать регулярное выражение?
Комментарии:
1. это зависит от того, преобразует ли язык программирования строки в числа автоматически или требует, чтобы вы вызывали методы и обрабатывали исключения, чтобы сделать это.
Ответ №3:
Гораздо более лаконично сказать
if(x&&t; 0 and x<5)
ИМХО
Комментарии:
1. Правильно, если
between
означает исключительные 1 и 5.
Ответ №4:
Возможно, это должно сработать [1-5]
Комментарии:
1. Нет, это не так, поскольку оно соответствовало бы 12345 или 5555 или this5is_not_a_number.
2. @Paul: Нет, оно соответствовало бы 1, 2, 3, 4 и 5 в 12345.
3. @splash, вот в чем проблема — если вы введете в него ‘12345’ или ‘this5is_not_a_number’, он скажет, что оно соответствует, потому что оно соответствует одной части строки. Если вы хотите сделать его эксклюзивным, как было задано в исходном вопросе, то вам нужны якоря, как сказал @Mark Byers.
4. @Paul, вы правы в контексте исходного вопроса, но ваша формулировка
it would match 12345
неточна относительно регулярного выражения @Faisal[1-5]
. 😉5. @splash, извините меня за то, что я подумал, что ответ на вопрос должен отвечать «в контексте исходного вопроса».