Регулярное выражение для всех положительных четных чисел - PullRequest
3 голосов
/ 10 сентября 2010

В настоящее время я зарегистрирован в заявках на перевод, и мы работаем над регулярными выражениями. Это проблема с домашним заданием. Я был в этом какое-то время, я просто запутался. Я не хочу просто ответ, объяснение было бы очень полезно, просто убедившись, что я его выучил.

Мне просто нужно регулярное выражение для всех четных чисел, начиная с нуля, ничего страшного. Вот несколько примеров того, что мне нужно ... (Примеры, 0, 00, ... 2, 4, 6, 8, 10, 010, 12, ...)

Спасибо.

Ответы [ 3 ]

8 голосов
/ 10 сентября 2010

Чтобы число было четным, оно должно заканчиваться четной цифрой.Четные цифры: 0, 2, 4, 6 и 8. Используйте класс символов, чтобы указать, какие цифры разрешены в каждой позиции.

Ответ:

/^[0-9]*[02468]$/

Объяснение:

^       Start of line/string
[0-9]   Any digit from zero to nine.
*       Repeat the last token zero or more times.
[02468] Any even digit.
$       End of line/string.

Чтобы помочь вам выучить регулярные выражения, я бы порекомендовал прочитать Быстрый запуск регулярных выражений .

Вы также можете увидеть \d вместо [0-9].В некоторых механизмах регулярных выражений они эквивалентны, но в других \d также соответствует символам, которые в других странах считаются цифрами.

Для получения дополнительной информации

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

4 голосов
/ 10 сентября 2010
/\d*[02468]$/         

По сути, вы хотите сопоставить все числа до последнего, что и делает \ d *. (\ d * читает совпадение с нулем или большим числом). Тогда последнее число должно быть либо 0,2,4,6, либо 8. Это достигается с помощью [02468] и $ привязывает его к концу строки. Когда вы ставите квадратные скобки вокруг символов, это означает, что вы хотите сопоставлять только этот список символов. Другой пример: если бы у вас было регулярное выражение /[abc]/, вы бы соответствовали строке, если бы в ней было 'a', 'b' или 'c'.

0 голосов
/ 10 сентября 2010

Ну, так как это домашняя работа, я не хочу давать вам полный ответ, так что вот совет, чтобы даже число должно заканчиваться на 0,2,4,6,8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...