Опубликовано 1 марта, 20214 г. Админ comment_470 Моя небольшая заметка по регулярным выражениям, может будет кому то полезной и более понятной. Это конечно не все по регулярным выражениям, но как за основу, надеюсь сойдет... Регулярка [\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
Опубликовано 29 июня, 20213 г. Модератор comment_677 регулярное выражение для номеров мобильных телефонов: /^(\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 Диапазон количества цифр можно задать какой вам будет удобен
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.