*   >> Чтение Образование Статьи >> science >> programming

Построение регулярного выражения в Perl

имер 2 Имя Проверка Задание Задание в деталях Предположим, что у нас есть сайт, где пользователи должны авторизоваться на сайте. Мы можем сказать пользователю, что его имя должно содержать буквы в верхнем или нижнем случае и /или цифр, от 0 до 9 и /или подчеркивания _. Мы также настаиваем, что имя не должно быть менее 3 символов или больше, что 18 символов. В этом примере мы ввели подробности спецификации.

Ломая проблемы на более мелкие части Название состоит из * букв алфавита в нижнем или верхнем регистре от 3 до 18 букв, включительно, и /или * цифры от 0 до 9 от 3 до 18 цифр, включая и /или * подчеркивания от 3 до 18 цифр, включительно. Это означает, что вы можете иметь до 18 подчеркивания для имени. Позволим что для простоты. * Мы должны ограничить доступный строку 3 или 6 символов.

Перевод в регулярных выражений регулярное выражение для первой части является: /^ [A-Za-Z] {3,18} $ /Регулярное выражение для второй части: /^ [0-9] {3,18} $ /The Regex для третьей части: /^ [_] {3,18} $ /Объединение регулярных выражений В разделе сломать, выше трех частей сочетаются с фразой "и /или" Там нет прямой способ делать это, таким образом, мы должны вывести это. Это в сочетании регулярное выражение: /^ [A-Za-Z0-9 _] {3,18} $ /Оптимизация Комбинированный Regex Это означает, сокращая сочетании регулярное выражение. Обратите внимание, что класс [A-Za-z0-9_] сокращается до \\ W.

Оптимизированная регулярное выражение: /^ [\\ W] {3,18} $ /возвратом Мы видели, как в соответствии альтернативы, используя чередование метасимвол, |. При сопоставлении альтернатив, Perl использует процесс, известный как отката. Я проиллюстрирую это на примере. Рассмотрим следующее выражение: «12345» = ~ /(124 | 123) (46 | 4 | 45) /я объясню откаты, объясняя работу над выражения. Следующие шаги объясняют, как PHP разрешает выше выражение. А. Она начинается с первого числа в доступной строку '1'. Б. Он пытается первую альтернативу в первой группе '124'. C.

Он видит согласование '1', за которой следует '2'. Все в порядке. Д. Он замечает, что "4" в регулярном выражении не соответствует '3' в доступной строки - это тупик. Так что отступает двух персонажей в доступной строки и выбирает второй вариант в первой группе '123'. Е. матчей '1' следуют '2' с последующим «3». Первая группа удовлетворяется. Ф. Она переходит к второй группе и выбирает первый вариант "46. Г. Это соответствует '4' в доступной строке. Х.

Тем не менее, "6" в регулярном выражении не соответствует "5" в доступной строки, так что это

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.