Перейти к содержанию

Регулярка и Регулярные выражения


AndrewPro

Рекомендуемые сообщения

  • Админ

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

Регулярка

[\w] - только буквы, числа и нижнее подчеркивание _
[\W]- все кроме букв, чисел и нижнего подчеркивания _

[\d] - только цифры
[\D] - все кроме цифр

[\n] - перенос строки

[\s] - пробел и разделитель
[\S] - найти все что не является символом разделителя

[\t] - найти символы табуляции или табуляцию

Подмаска регулярок:
/a/ ищем символ а
'/a(s|\s)/' - будет искать символ "a и пробел" и "a и s"

\s - символ пробела
() - после которого идет, все что находится в () - является подмаской
| - знак ИЛИ
\ - экранирование

Если без подмаски - () , тогда будет искать "as" и\либо символ "пробела"

'/a./' - Найти вхождение "a" после которого идет любой другой символ - один символ, после "a" (за это отвечает точка ".")
. - один символ после
. - любой символ

'/\s{2, }\w/' - Ограничивать длину последовательности (мы хотим выбрать, только те элементы, в которых у нас идет БОЛЕЕ ОДНОГО пробела и \w - любой другой символ и любой символ, цифра и нижнее подчёркивание _) "2," - означает, два и более раз. так же можно сделать от 2 до 4 с помощью - {2,4}

[] - символьный класс
[\S] - любой символ, кроме пробела
'/[\S]\s{2, }\w/' - До пробелов не должно быть пробела, модификация '/\s{2, }\w/'

Система отрицаний:
^ - означает как НЕ
'/[^,\s]/' - перед которыми НЕ стоят Запятая и символы Пробела

'/^/' - искать что то с начала строки ( если указана ^ не в символьном классе [] )

'/^[A-Z]/' - искать с начала строки заглавные буквы от A до Z

$ - с конца строки ( пример: '/[A-Z]$/')

от 2 до 4 раз - {2,4} - можно написать более просто - 1 и более раз, равен знаку + 
*  - означает 0 и Более раз...
+ - означает 1 и Более раз... 
Ноль или более раз - 
'/[\d]{3}/' - цифры, которые будут повторятся 3 раза
\d+ - любая цифра 1 или Более раз


Жадность Квантификатора:
Квантификатор - это и есть тот алгоритм, который разбирает строку, по данному шаблону и ищет соответствие этому шаблону. По умолчанию, Квантификатор  - жадный (он пытается захватить максимум символов, удовлетворяющему шаблону)!

'/.+/' - любые символы, 1 или Более раз
'/.+\s/' - любой символ, 1 или Более раз, до любого символа "Пробела"
'/.+\s+/' - любой символ, 1 или Более раз, до любого символа "Пробела" 1 или более раз

? - изменить жадность Квантификатора ( меняется указанием знака "Вопроса" ? ), Пытается захватить минимум символов заданному шаблону.

'/.+?\s+/' - получим массив соответствий! 
К примеру: maSFha  is, 1234567bc - проверяем данную строку
И получим в виде : 
maSFha = 0 элемент
is = 1 второй элемент
1234567bc = 2 третий элемент

'/ /' - ограничитель регулярных шаблонов


Флаги - флаги ставятся после или перед ограничителем:

Регулярных шаблонов '/ /'
'/.+\s+/U'
U - Флаг, который меняет глобально Жадность квантификатора "?"
u - флаг, обозначает что мы осуществляем Мульти байтовый поиск в кодировке utf-8
'/[а-яА-Я]+/u' - вот пример с флагом u - где мы ищем в Мульти байтовой кодировке.
i - флаг i помогает работать и искать как Заглавные, так и строчные буквы (символы)
'/[а-я]+/ui' - вот и собственно пример (можно не указывать еще заглавные типа А-Я)!

Флаги с Многострочным поиском:
m - Флаг, многострочного поиска
'/^.+&/m' - любые символы от начала до конца строки, где от начала - это ^ и до конца строки - это & , где м - это в многострочном поиске (где несколько строк и более)

Telegram сайта  "Типичный социум"

Do not be indifferent. Support for motivation to continue on to engage in this further! Thanks

img.png

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...
  • Модератор

регулярное выражение для номеров мобильных телефонов: 

/^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/

Принимает следующие варианты:

+7(123)456-78-90

81234567890

8(123)45-678-99

+380(12)345-6-789

+1-234-567-8900

+233 123456789

Диапазон количества цифр можно задать какой вам будет удобен 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Обжалование или подача апелляции на снятие Бана в группе "Типичный Социум IT!
Заявки и обжалование отправлять в Телеграм bot @ModeratorTS_Bot


×
×
  • Создать...

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.Политика конфиденциальности

Write what you are looking for and press enter or click the search icon to begin your search

-->