Руководство для начинающих по регулярным выражениям (Regex)

Регулярное выражение – это набор символов, образующих шаблон, который можно искать в строке. Regex можно использовать для проверки, например, для проверки номеров кредитных карт, для поиска, например, через сложные текстовые совпадения, и для замены совпадающего текста другой строкой. Он также имеет отличную поддержку нескольких языков – изучите его один раз, и вы сможете использовать его на многих языках программирования.

Я видел, как мало кто впервые взглянул на регулярное выражение и полностью его проигнорировал. Я их не виню; Синтаксис регулярных выражений сложен и вызовет множество неприятностей, как и эти языки командной строки, только хуже. Но тогда все новое пугает, и сначала кажется, что невозможно научиться. Итак, заимствуя слова Горация, я скажу следующее; Начни, будь смелым и отваживайся быть мудрым.

Regex – Введение
Regex уходит корнями в нейробиология а также математика и был реализован в программировании только в 1968 г. Кен Томпсон в текстовом редакторе QED для текстового поиска. Теперь это часть многих языков программирования, таких как Perl, Java, Python, Ruby и JavaScript.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Давайте посмотрим на несколько примеров того, как работает регулярное выражение.

В примерах я буду использовать JavaScript. Теперь, чтобы пройти уровень новичка, вам нужно изучить все символы, классы, квантификаторы, модификаторы и методы, используемые в регулярном выражении. Вот ссылка на Страница регулярных выражений Mozilla Developer Network где вы можете просмотреть таблицу, содержащую все это. Вы также можете обратиться к шпаргалке в конце этого сообщения с наиболее часто используемыми символами.

Давайте посмотрим на простой пример с пояснением. Это регулярное выражение.
регулярное выражениеЭто то, что приведенное выше регулярное выражение будет искать в строке: за символом ‘B’, за которым следует хотя бы один из любых символов от ‘a’ до ‘z’, включая ‘A’ до ‘Z’ и числа от 0 до 9.

Вот пример совпадений в выделенной строке:

Корзина, луковица, витамин B12, BaSO4, компания N BC

Вышеупомянутое регулярное выражение остановит поиск на
Корзина
и вернуть положительный ответ. Это потому, что необходимо указать глобальный модификатор ‘g’, если вы хотите, чтобы регулярное выражение проверяло все возможные совпадения.

Теперь давайте посмотрим, как использовать это выражение в JavaScript. Метод проверки таков: если найдено совпадение, верните истину, иначе – ложь.

var input = “ваша тестовая строка”, regex = / B[a-zA-Zd]+ /; if (! regex.test (input)) alert (‘Соответствие не найдено’); else alert («Найдено совпадение»);
Попробуем другой метод: match возвращает совпадения, найденные в массиве.

var input = “ваша тестовая строка”, regex = / B[a-zA-Zd]+ / g, / * Я добавил к регулярному выражению глобальный модификатор ‘g’, чтобы получить все совпадения * / ary = input.match (regex); if (ary === null) alert (‘Соответствие не найдено’); else alert (‘совпадения:’ + ary.toString ());
Как насчет замены строки? Давайте теперь попробуем это с регулярным выражением.
var input = “ваша тестовая строка”, regex = / B[a-zA-Zd]+ / г; предупреждение (input.replace (regex, “#”));

Ниже приведен код для настройки. Щелкните вкладку «JavaScript», чтобы просмотреть код JS.

См. Перо gpLXYY Автор Preethi (@rpsthecoder) на CodePen.
Упражнения с регулярным выражением
Что касается упражнений, вы можете погуглить «упражнения с регулярными выражениями» и попробовать их решить. Вот чего ожидать при выполнении этих упражнений в зависимости от уровня сложности.
Базовый
Для меня для начала достаточно иметь возможность подтвердить пароль. Итак, подтвердите пароль длиной от 8 до 16 символов, буквенно-цифровых, с допустимыми специальными символами на ваш выбор.
Средний
Здесь вам следует попрактиковаться с большим количеством реальных данных и изучить еще несколько точек регулярных выражений, таких как предварительный просмотр, утверждения ретроспективного просмотра и группы сопоставления;

  • Подтвердите PIN-коды, шестнадцатеричные числа, даты, адрес электронной почты, числа с плавающей запятой.
  • Заменить конечный ноль, пробелы, набор совпадающих слов
  • Извлечь разные части URL

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

  • Анализ HTML или XML (хотя в реальном мире это не рекомендуется, потому что использование регулярного выражения для анализа нерегулярного языка, такого как HTML, никогда не сделает его надежным. Кроме того, синтаксический анализ XML – сложная задача, более подходящая для пользователей продвинутого уровня)
  • Замена тегов
  • Удаление комментариев (кроме условных комментариев IE)

Инструменты регулярных выражений
Инструменты для визуализации регулярных выражений – одна из самых крутых вещей для меня. Если вы когда-нибудь столкнетесь с длинным сложным регулярным выражением, просто скопируйте и вставьте их в один из этих инструментов, и вы сможете четко видеть поток. Кроме того, есть много инструментов, которые можно использовать для работы с кодом регулярного выражения. Они также демонстрируют примеры и шпаргалки вместе с функциями обмена.

  • Debuggex – Он рисует диаграмму регулярных выражений в соответствии с вашими входными данными, и вы можете быстро поделиться с StackOverflow прямо оттуда.
  • RegExr – Вы можете проверить свое регулярное выражение с этим. Там также есть справочная информация, шпаргалка и примеры, которые могут вам помочь.

Определение токена Regex Cheatsheet
[abc]
Любой одиночный символ a, b или c
[^abc]
Любой символ кроме a, b или c
[a-z]
Символ от а до я (включая)
[^a-z]
Символ кроме от а до я
[A-Z]
Символ от А до Я (включая). Любой одиночный символ s Любой символ пробела S Любой символ, не являющийся пробелом d Любая цифра от 0 до 9 D Любой нецифровой символ w Любой символ слова (буква, цифра и подчеркивание) W Любой символ, не являющийся словом (…) Захватить все заключенное (a | b) Соответствует a или ba? Символ a либо отсутствует, либо присутствует один раз a * Символ a либо отсутствует, либо присутствует несколько раз a + Символ a присутствует один или несколько раз a {3} 3 символа a последовательно a {3,} 3 или более символов a последовательно a {3,6} от 3 до 6 вхождений символа a последовательно ^ Начало строки $ Конец строки b Граница слова. Если символ является последним или первым символом слова или Если символ находится между словом или символом, не являющимся словом B Граница вне слова

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *