Полезные регулярки

Полезные регулярные выражения. Готовые регулярные выражения

В этой записи собраны полезные регулярные выражения. Здесь есть регулярные выражения на все случаи жизни)))

Проверка надежности пароля

?^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8}$ 

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

Код цвета в шестнадцатеричном формате

?\#([a-fA-F]|[0-9]){3, 6}

Шестнадцатеричные коды цветов используются при веб-разработке очень часто. Это регулярное выражение может быть поможет сравнить: совпадает ли какая-либо строка с шаблоном шестнадцатеричного кода.

Проверка адреса электронной почты

?/[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]{2,4}/igm 

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

IP-адрес (v4)

?/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/ 

Как e-mail может использоваться для идентификации посетителя, так IP-адрес является идентификатором конкретного компьютера в сети. Приведенное регулярное выражение проверяет соответствие строки формату IP-адреса v4.

IP-адрес (v6)

?(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])) 

Вы также можете проверить строку на соответствие формату IP-адреса новой, шестой версии более продвинутым регулярным выражением.

Разделитель в больших числах

?/\d{1,3}(?=(\d{3})+(?!\d))/g 

Традиционными разделителями в больших числах являются запятые, точки или другие знаки, повторяющиеся в числе через каждые 3 символа. Приведенный код регулярного выражения работает с любым числом и любым определенными вами символами для разделения трехзначных частей в больших числах: тысячах, миллионах и т.п.

Добавление протокола перед гиперссылкой

?if (!s.match(/^[a-zA-Z]+:\/\//)){s = 'http://' + s;}

Независимо от того, с каким языком вы работаете: JavaScript, Ruby или PHP, это регулярное выражение может оказаться очень полезным. С его помощью проверяется любой URL-адрес на наличие в строке протокола, и если протокол отсутствует, указанный код добавляет его в начало строки.

«Вытягиваем» домен из URL-адреса.

?/https?:\/\/(?:[-\w]+\.)?([-\w]+)\.\w+(?:\.\w+)?\/?.*/i 

Как известно, любой URL-адрес состоит из нескольких частей: вначале указывается протокол (HTTP или HTTPS), иногда за ним идет субдомен, а в завершении добавляется путь к странице. Вы можете использовать это выражение, чтобы вернуть только доменное имя, исключив все остальные части адреса.

Сортировка ключевых фраз по количеству слов

?^[^\s]*$        //соответствует одному ключевому слову^[^\s]*\s[^\s]*$    //соответствует фразе из 2 ключевых слов^[^\s]*\s[^\s]*     //соответствует фразе, содержащей по крайней мере 2 кючевых слова^([^\s]*\s){2}[^\s]*$    //соответствует фразе из 3 ключевых слов^([^\s]*\s){4}[^\s]*$    //соответствует фразе из 5 и более ключевых слов

Это действительно полезные выражения для пользователей Google Analytics и инструмента для веб-мастеров. Ведь с помощью них можно отсортировать ключевые фразы, используемые посетителями при поиске по количеству слов, входящих в них.

Выражения могут проверять фразы, содержащие определенное количество слов (например, 5), а также фразы количество слов в которых более двух, трех и т.д. Одно из самых мощных выражений, используемое для сортировки данных аналитики.

Поиск валидной строки Base64 в PHP

?\?php[ \t]eval\(base64_decode\(\'(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?){1}\'\)\)\; 

Если вы являетесь PHP-разработчиком, то иногда вам может понадобиться найти объект, закодированный в формате Base64. Указанное выше выражение может использоваться для поиска закодированных строк в любом PHP-коде.

Проверка телефонного номера

?^\+?\d{1,3}?[- .]?\(?(?:\d{2,3})\)?[- .]?\d\d\d[- .]?\d\d\d\d$ 

Это регулярное выражение применяется для проверки любого номера телефона, прежде всего, американского формата телефонных номеров.

Проверка телефонных номеров может стать довольно сложной задачей, поэтому автор статьи рекомендует детально ознакомиться с различными вариантами решения на сайте stackoverflow.comКомментарий mattweb.ru

Для проверки российских телефонных номеров используйте следующее выражение:

?^((\+?7|8)[ \-] ?)?((\(\d{3}\))|(\d{3}))?([ \-])?(\d{3}[\- ]?\d{2}[\- ]?\d{2})$

Начальные и конечные пробелы

?^[ \s]+|[ \s]+$ 

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

«Вытягиваем» HTML-код изображения

?\< *[img][^\>]*[src] *= *[\"\']{0,1}([^\"\'\ >]*) 

Если по какой-либо причине вам необходимо «вытянуть» HTML-код изображения прямо из кода страницы, это регулярное выражение станет для вас идеальным решением. Хотя оно может без проблем работать на стороне сервера, для фронтенд-разработчиков приоритетней будет использовать метод attr() библиотеки jQuery вместо указанного регулярного выражения.

Проверяем дату на соответствие формату DD/MM/YYYY

?^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$ 

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

В PHP имеется отличная  функция date(), но она не всегда подходит, ведь в нее может быть передана необработанная строка. Поэтому для проверки указанного формата даты нужно использовать приведенное выше регулярное выражение.

Совпадение строки с адресом видеоролика на YouTube

?/http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi 

На протяжении нескольких лет на Youtube не меняется структура URL-адресов. Youtube является самым популярным видео хостингом в Интернет, благодаря этому, видео с Youtube набирают наибольший трафик.

Если вам необходимо получить ID какого-либо видеоролика с Youtube, воспользуйтесь приведенным выше регулярным выражением. Это наилучшее выражение, подходящее для всех вариантов URL-адресов на этом видео-хостинге.

Проверка ISBN

?/\b(?:ISBN(?:: ?| ))?((?:97[89])?\d{9}[\dx])\b/i 

Информация обо всех печатные изданиях, хранится в системе, известной как ISBN, которая состоит из 2 систем: ISBN-10 и ISBN-13. Неспециалисту очень сложно увидеть различия между этими системами. Однако, представленное выше регулярное выражение позволяет проверять соответствие кода ISBN сразу обоим системам: будь то ISBN-10 или ISBN-13. Код написан на PHP, поэтому это решение подходит исключительно для веб-разработчиков.

Проверка почтового индекса (Zip Code)

?^\d{5}(?:[-\s]\d{4})?$ 

Автор этого регулярного выражения не только придумал его, но и еще нашел время его описать. Это выражение будет полезно вам, если вы проверяете совпадение строки со стандартным пятизначным индексом или его удлиненным вариантом, содержащим 9 знаков. Обращаем ваше внимание, что это выражение подходит только для проверки американских почтовых индексов. Для индексов других стран необходима настройка.Комментарий mattweb.ru

Для проверки российских почтовых индексов используйте следующее выражение:

?^\d{6}$ 

Проверка правильности имени пользователя Twitter

?/@([A-Za-z0-9_]{1,15})/ 

Это небольшое регулярное выражение помогает найти имя пользователя Twitter внутри текста. Оно проверяет наличие имени в твитах по шаблону: @username.

Проверка номера кредитной карты

?^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$  

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

Вы можете ознакомиться с  более полным списком кодов для детальной проверки карт. Список включает в себя такие системы как Visa, MasterCard, Discover и многие другие.

Поиск CSS-атрибутов

?^\s*[a-zA-Z\-]+\s*[:]{1}\s[a-zA-Z0-9\s.#]+[;]{1} 

Ситуация, когда придется воспользоваться указанным регулярным выражением, может сложиться очень редко, но не факт что не сложится никогда

Этот код можно использовать когда будет необходимо «вытянуть» какое-либо CSS-правило из списка правил для какого-нибудь селектора.

Удаление комментариев в HTML

?<!--(.*?)--> 

Если вам необходимо удалить все комментарии из блока HTML-кода, воспользуйтесь этим регулярным выражением. Чтобы получить желаемый результат, вы можете воспользоваться PHP-функцией  preg_replace().

Проверка на соответствие ссылке на Facebook-аккаунт

?/(?:http:\/\/)?(?:www\.)?facebook\.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[\w\-]*\/)*([\w\-]*)/ 

Если вам необходимо узнать у посетителя вашего сайта адрес его странички в Facebook, попробуйте это регулярное выражение. Оно поможет вам проверить правильность указанного пользователем URL. Этот код отлично подходит для проверки ссылок в этой соцсети.

Проверка версии Internet Explorer

?^.*MSIE [5-8](?:\.[0-9]+)?(?!.*Trident\/[5-9]\.0).*$ 

Несмотря на то, что Microsoft выпустил новый браузер Edge, многие пользователи до сих пор пользуются Internet Explorer. Веб-разработчикам часто приходится проверять версию этого браузера, чтобы учитывать особенности разных версий при работе над своими проектами.

Вы можете использовать это регулярное выражения в JavaScript-коде чтобы узнать какая версия IE (5-11) используется.

«Вытягиваем» цену из строки

?/(\$[0-9,]+(\.[0-9]{2})?)/ 

Цена какого-либо товара может быть указана в различных форматах: в ней могут встречаться запятые, знаки после запятой и символы валюты.

Указанное выше регулярное выражение учитывает различные форматы отображения цены, с его помощью вы сможете «вытянуть» цену из любой символьной строки.

Разбираем заголовки в e-mail

?/\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}\b/i

С помощью этого небольшого выражения вы сможете разобрать заголовок e-mail сообщения, чтобы извлечь оттуда список адресатов. Выражение может быть использовано и в случае, если адресатов несколько.

Вместо регулярных выражений, для разбора заголовков e-mail вы можете воспользуйтесь  библиотекой на PHP.

Соответствие имени файла определенному типу

?/^(.*\.(?!(htm|html|class|js)$))?[^.]*$/i 

Если в вашем приложении существует возможность загрузки файлов на сервер, это регулярное выражение может помочь вам проверить файлы перед тем как посетитель их загрузит.

С помощью этого кода можно получить расширение загружаемого файла и проверить присутствует ли оно в списке разрешенных к загрузке.

Соответствие строки формату URL

?/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi 

Регулярное выражение может проверять URL-адреса с указанием протоколов HTTP и HTTPS на предмет соответствия синтаксису доменов TLD.

Существует простой способ проверки с использованием  JavaScript RegExp.

Добавление атрибута rel=”nofollow” в теге ссылки

?(<a\s*(?!.*\brel=)[^>]*)(href="/https?://)((?!(?:(?:www\.)?'.implode('|(?:www\.)?', $follow_list).'))[^"]+)"((?!.*\brel=)[^>]*)(?:[^>]*)> 

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

Используя приведенный код, например, совместно с PHP, вы сможете «вытянуть» код ссылок из блоков HTML-кода и добавить в каждую из них атрибут rel=”nofollow”.

Работа с media query

?/@media([^{]+)\{([\s\S]+?})\s*}/g 

Вы можете разбивать строки содержащие медиа-запросы на части, состоящие из параметров и свойств. Указанное выражение может быть полезно для анализа стороннего CSS-кода. Используя его вы сможете, например, более подробно понять как устроен чужой код.

Синтаксис поисковых выражений Google

?/([+-]?(?:'.+?'|".+?"|[^+\- ]{1}[^ ]*))/g 

Вы можете составить свои собственные регулярные выражения для манипулирования результатами поиска по вашим запросам в поисковой системе Google. Например, знак плюс (+) добавляет дополнительные ключевые слова, а минус (-) означает, что слова должны быть проигнорированы и удалены из результатов.

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

На этом всё!
Если у вас есть вопросы, пишите их в нашей группе - https://vk.com/progtime
Вы так же можете разместить свой вопрос на нашем форуме, где другие программисты смогут вам помочь в решение вашей задачи - https://vk.com/prog_time
В ней мы делимся своим опытом с другими начинающими программистами, поэтому обязательно ответим на ваш вопрос.
Так же прокачивайте свои навыки на нашем канале - https://www.youtube.com/c/ProgTime

17
Оставить комментарий

avatar
17 Цепочка комментария
0 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
11 Авторы комментариев
treantinc376963153357428558744529 Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
ArthurPut
Гость

You recollect 18 more century

——–
buy cc |https://validccshop.online/

JanleF
Гость

Priligy Europe [url=http://apcialisle.com/#]Cialis[/url] Buy Nexium 40 Mg generic cialis Cialis Gratis

JanleF
Гость

Generic Soft Cialis [url=https://apcialisle.com/#]Cialis[/url] Cialis Una Pastilla Cialis Propecia En Pharmacie

JanleF
Гость

Viagra Remboursement Prostate [url=https://viacialisns.com/#]safe cialis online[/url] Propecia No Conecta where to buy cialis online Protonix Without A Rx

EdwardUnalm
Гость

Забирайте новый бонус 100$ – http://bonus2020.ru/100USD
Вынужден сидеть дома из-за короновируса? Получи 100$ и зарабатывай во время пандемии!

JanleF
Гость

Amerimedrx [url=https://viacialisns.com/#]cialis 20mg[/url] Merck Finasteride Propecia cialis daily Ciprofloxacin And Amoxicillin Taken Together

614397
Гость

Предлагаем Вам несложную работу в домашних условиях.

Работа не требует вложений.
Полностью легально и честно, напрямую с поставщиками многоразовых защитных масок.
Начальная настройка займет менее 2 часов.
Для работы нужен только ноутбук или компьютер с выходом в интернет.

Более подробная информация на нашем сайте: https://v.ht/zarabotok_mask

569628
Гость

Заработок за просмотры видео без вложений.

Бeз каких-либо вложений!
Бeз свoeгo вебсайта!
Бeз тeхничeских знaний!
Бeз вoзрaстных oгрaничeний!
Рaбoтaя 1-3 чaсa в дeнь!

Более подробная информация на нашем сайте: http://v.ht/money_na_video

Daummausage
Гость

Пируэт на опорной ноге и удар наискосок. [url=https://onlinecreditka.site/pervoe_biuro_kreditnykh_istorii.php]первое бюро кредитных историй[/url], [url=https://onlinecreditka.site/moskovskii_industrialnyi_bank_zaiavka_na_kredit.php]московский индустриальный банк заявка на кредит[/url]. Пришлось зализать в машину, обтирать себя всего от грязи, пота и крови. [url=https://onlinecreditka.site/kak_poluchit_vygodnyi_kredit.php]как получить выгодный кредит[/url], Она опустила голову и подошла ко мне. [url=https://onlinecreditka.site/dengi_kredit_banki_sait.php]деньги кредит банки сайт[/url], [url=https://onlinecreditka.site/vziat_kredit_onlain_reshenie_srazu.php]взять кредит онлайн решение сразу[/url]. – Так точно.

Daummausage
Гость

А потом упали снаряды. [url=https://onlinecreditka.site/daiut_li_rassrochku_bezrabotnym.php]дают ли рассрочку безработным[/url], [url=https://onlinecreditka.site/zaimy_pensioneram_do_80_let.php]займы пенсионерам до 80 лет[/url]. Это хорошо, он сейчас пьет пиво, может быть, захмелеет, пошевелилась, руки привязаны, какой-то тряпкой к кровати, обе, ничего я не сделаю. [url=https://onlinecreditka.site/obrazets_dogovora_protsentnogo_zaima.php]образец договора процентного займа[/url], Финн сказал ему, что судья прочитает все записи до сегодняшнего дня и, скорее всего, заранее вынесет своё решение. [url=https://onlinecreditka.site/vziat_bystryi_kredit_onlain.php]взять быстрый кредит онлайн[/url], [url=https://onlinecreditka.site/kalkuliator_dolga_po_kreditu.php]калькулятор долга по кредиту[/url]. Пей.

691289
Гость

Заработок за просмотры фильмов без продаж и вложений.

Бeз влoжeний!
Бeз свoeгo вебсайта!
Бeз тeхничeских знaний!
Бeз вoзрaстных oгрaничeний!
Рaбoтaя 1-3 чaсa в дeнь!

Ознакомтесь с условиями у нас на сайте: http://v.ht/money_na_video

383766
Гость

Предлагаем Вам несложную работу на дому.

Работа не требует вложений.
Полностью легально и честно, напрямую с поставщиками многоразовых защитных масок.
Первоначальная настройка займет менее 2 часов.
Для работы нужен только ноутбук или компьютер с выходом в интернет.

Более подробная информация у нас на сайте: https://v.ht/zarabotok_mask

744529
Гость

Простая методика заработка для новичков. Даже во время кризиса и карантина.

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

Более подробная информация у нас на сайте. https://v.ht/money_portal

428558
Гость

БОГАТЫЙ КОПИПАСТЕР – Простейшая методика заработка от Ольги Арининой

Умеете копировать-вставлять текст, значит сможете зарабатывать от 1000 руб за 5 минут работы уже сегодня!

80% людей, которые хотят зарабатывать в Интернете, не умеют уверенно пользоваться компьютером! И только методика “Богатый копипастер” приносит им денежный результат!

Абсолютно без вложений денег
Без партнерок и рассылок
Не надо настраивать сайты и рекламу
Уже через час вы сможете получить свои первые деньги
Просто и быстро!

Ознакомтесь с условиями у нас на сайте: https://v.ht/kopipaster_vip

153357
Гость

Умеете копировать текст? Сможете нажать на кнопку «загрузить» и «отправить»? Тогда у вас всё получится! Получится зарабатывать по системе «Родник После настройки система работает сама около месяца. Вы день тратите на настройку, а потом получаете доход весь месяц. Все материалы готовы и ждут вас. Вам нужно только скопировать их на сервис и запустить. Делать самому их уже не нужно! Я сделал специальный сервис,который поможет вам зарабатывать. Доступ к нему будет только у моих учеников. А ПОЛУЧИТЬСЯ ЛИ? ПОЛУЧИТСЯ! И ВОТ ПОЧЕМУ: 1. Созданная мною платформа ЛидоСфера существенно облегчает работу! 2. За вас все уже сделано. Всё готово и осталось только… Подробнее »

376963
Гость

КАК ВЫБРАТЬ ОНЛАЙН ШКОЛУ И ПРОФЕССИЮ ДЛЯ УДАЛЕННОЙ РАБОТЫ? Сейчас на рынке более 1000 предложений обучиться онлайн-профессиям! Но никто не говорит, как правильно ее выбрать, чтобы не потерять деньги и время на обучение, а также, чтобы работа приносила радость и удовольствие! Так узнайте как подобрать удалённую работу. Получаете доступ к личному кабинету и бонусы! – Список проверенных онлайн-школ, в которых дают качественные знания, применимые для зарабатывания денег. – Шаблоны, резюме и портфолио, которые сможете скорректировать для себя и отправить клиентам и работодателям. – Техники, как убрать страх, который может начать вас сдерживать во время того, как вы начнете искать работу… Подробнее »

treantinc
Гость
treantinc

Keflex Dog Dosages [url=https://cheapcialisll.com/]Cialis[/url] Viagra Pas Cher Payement Securise Cheap Cialis Priligy Prix