Работа с регулярными выражениями в PHP: функция preg_match и захват совпадений

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

Функция preg_match в PHP позволяет осуществлять поиск совпадений заданных шаблонов в строке. Одним из наиболее интересных и полезных аспектов этой функции является захват совпадений — механизм, который позволяет выделять и сохранять определенные части найденных строк. Данный механизм полезен для дальнейшей обработки полученной информации и может быть использован в различных приложениях.

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

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

Регулярное выражение — это последовательность символов, которая определяет шаблон совпадения, используется для поиска и обработки текста. В PHP регулярные выражения могут быть использованы с помощью функции preg_match().

Функция preg_match() возвращает true, если в строке найдено совпадение по регулярному выражению, и false в противном случае. Помимо этого, функция может выполнять захват совпадения.

Захват совпадения — это процесс извлечения подстроки, которая соответствует шаблону. Для этого используются круглые скобки в регулярном выражении. Полученные захваты сохраняются в массиве $matches.

Также в PHP доступна функция preg_match_all(), которая позволяет находить все совпадения в строке, а не только первое. Результат сохраняется в массиве $matches.

Кроме того, в PHP есть множество метасимволов и модификаторов, которые позволяют более гибко настраивать поиск и обработку текста. Например, метасимвол ^ означает начало строки, а модификатор i указывает на игнорирование регистра символов.

В целом, регулярные выражения в PHP являются мощным инструментом для работы с текстом. Использование функции preg_match() с захватом совпадений позволяет эффективно извлекать и обрабатывать нужную информацию.

Функция preg_match

preg_match — это функция, которая используется в PHP для выполнения поиска в строке, используя регулярные выражения. Эта функция возвращает количество совпадений, включая захватываемые группы.

Синтаксис функции preg_match:

ПараметрОписание
шаблонРегулярное выражение для поиска в строке
строкаСтрока для поиска совпадений
matchesПеременная, в которую будет сохранено количество совпадений и захватываемых групп
flags (необязательный)Дополнительные флаги для опций поиска, включая управление чувствительностью к регистру и многострочностью.

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

Например, для извлечения содержимого тега HTML можно использовать следующее регулярное выражение:

/<([a-z]+)>(.+)</1>/i

Это регулярное выражение извлечет текст между открывающим и закрывающим тегами HTML и сохранит его в захватывающую группу, которую можно получить с помощью массива $matches, который является третьим параметром функции preg_match.

Кроме того, при использовании функции preg_match важно помнить, что она возвращает только первое совпадение. Если требуется найти все совпадения, следует использовать функцию preg_match_all.

Основные понятия

Регулярные выражения — это последовательность символов, которая описывает шаблон поиска текста в строке.

Функция preg_match — это встроенная функция PHP, используемая для применения регулярного выражения к строке и проверки, соответствует ли строка шаблону.

Захват совпадений — это возможность сохранения определенной части совпавшей строки в переменную.

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

Метасимволы — это символы, используемые в регулярных выражениях для описания определенного шаблона. Например, символ ^ используется для поиска начала строки, а символ $ — для поиска конца строки.

Квантификаторы — это метасимволы, используемые для указания количества вхождений символа или группы символов. Например, символ * указывает на ноль или более вхождений символа/группы символов.

Группы символов — это набор символов, объединенных вместе в квадратные скобки, чтобы указать, что один из этих символов должен совпасть со строкой. Например, [abc] означает, что любая из букв a, b или c может быть найдена в строке.

Обратный слеш — это экранирование символа, используемое, когда символ является метасимволом и должен быть найден в тексте. Например, ( и ) используются для поиска скобок в тексте.

Что такое регулярные выражения

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

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

В PHP, функция preg_match используется для поиска совпадений с заданным регулярным выражением в строке. Она позволяет не только найти совпадение, но и захватить его для дальнейшей обработки.

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

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

Какие задачи можно решать с помощью preg_match

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

  • Проверка наличия подстроки в строке. Функция preg_match позволяет найти в строке соответствие указанному регулярному выражению. Если такое соответствие найдено, то функция вернет 1, а если не найдено — 0.
  • Получение значения параметра URL. Часто бывает необходимо получить значение какого-то параметра из URL-адреса. С помощью preg_match можно легко найти нужное значение из строки URL.
  • Проверка корректности ввода данных. Если нужно проверить, что пользователь ввел данные в правильном формате, например, номер телефона или адрес электронной почты, можно применить регулярные выражения и функцию preg_match.

Также, функция preg_match может использоваться для поиска и замены текста, извлечения данных из HTML-страницы, анализа логов сервера и многих других задач, связанных с обработкой текста.

Использование функции

Функция preg_match в PHP используется для поиска совпадения регулярного выражения в строке. Она принимает три параметра: регулярное выражение для поиска, строку для поиска и массив для сохранения найденных совпадений.

Для использования функции preg_match необходимо передать регулярное выражение в качестве первого параметра. Регулярное выражение может содержать специальные символы, которые задают определенные шаблоны для поиска.

Второй параметр функции — строка для поиска, в которой нужно найти совпадения с заданным регулярным выражением. Если совпадения найдены, они сохранятся в массиве, переданном третьим параметром.

Например, для поиска всех чисел в строке можно использовать следующее регулярное выражение: /d+/. Это выражение задает поиск последовательности цифр, которые могут содержаться в любом месте строки.

Функция preg_match возвращает значение true, если хотя бы одно совпадение найдено, и значение false, если совпадений нет. Также возможен вариант, когда функция вернет число совпадений.

  • Если вы хотите найти только первое совпадение, то можете использовать функцию preg_match с модификатором ^. Например: preg_match('/^someregex/', $string, $matches);
  • Если вы хотите найти все совпадения, то можете использовать функцию preg_match_all. Например: preg_match_all('/d+/', $string, $matches);

Использование функции preg_match с захватом совпадений очень полезно для обработки текстовых данных, например, для поиска номеров телефонов, почтовых индексов, электронных адресов и многого другого.

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

Какие параметры принимает preg_match

Функция preg_match() в PHP используется для поиска совпадений регулярного выражения в строке. Она принимает следующие параметры:

  • Шаблон (pattern) — строка с регулярным выражением, которое будет использоваться для поиска совпадений.
  • Строка (subject) — строка, в которой будет происходить поиск.
  • Массив с захватами (matches) — переменная, которая будет содержать результаты поиска, если указан флаг PREG_OFFSET_CAPTURE.
  • Флаги (flags) — дополнительные параметры для настройки поиска, такие как PREG_OFFSET_CAPTURE или PREG_UNMATCHED_AS_NULL.
  • Смещение (offset) — определяет позицию, с которой начинается поиск в строке. Это используется, например, если нужно исключить из поиска первые символы в строке.

Пример использования preg_match():

$string = "This is a test string.";

$pattern = "/test/";

if (preg_match($pattern, $string)) {

echo "Совпадение найдено.";

} else {

echo "Совпадение не найдено.";

}

В этом примере функция preg_match() найдет строку «test» в строке $string и выведет «Совпадение найдено.»

Функция preg_match() — это мощный инструмент для обработки и поиска текстовых данных в PHP. С помощью ее параметров можно настроить поиск с высокой точностью и получить нужные результаты.

Какие типы данных можно проверять с помощью preg_match

Функция preg_match в PHP позволяет проверять строки на соответствие заданному шаблону с помощью регулярных выражений. С ее помощью можно проверять различные типы данных:

  • Целые числа. Например, можно проверить, является ли заданная строка целым числом с помощью регулярного выражения ‘/^d+$/’.
  • Дробные числа. Для проверки дробных чисел можно использовать регулярное выражение ‘/^d+(.d+)?$/’.
  • Дата и время. Можно проверять строки на соответствие формату даты или времени с помощью соответствующих регулярных выражений.
  • Электронная почта. Для проверки корректности адреса электронной почты можно использовать регулярное выражение ‘/^[^s@]+@[^s@]+.[^s@]+$/’.
  • URL-адрес. Для проверки корректности URL-адреса можно использовать регулярное выражение ‘/^(http|https)://[^s]+$/’.
  • Телефонные номера. Можно проверять строки на соответствие формату телефонных номеров с помощью соответствующих регулярных выражений, например, ‘/^+?d{1,3}-?d{1,5}-?d{4,10}$/’.

В целом, preg_match позволяет проверять практически любые типы данных, заданные в виде текстовых строк, на соответствие заданному шаблону. Это делает функцию очень универсальной и полезной во многих задачах, связанных с поиском и фильтрацией данных в PHP.

Примеры использования функции в PHP-коде

Функция preg_match с захватом совпадений может быть использована в PHP для выполнения ряда задач, связанных с поиском и экстракцией определенной информации из строк.

Пример 1: Найти все числа в строке и вывести их на экран.

$string = "There are 12 oranges and 3 apples in the basket";

preg_match_all('/d+/', $string, $matches);

print_r($matches[0]);

Результат выполнения кода:

Array

(

[0] => 12

[1] => 3

)

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

$email = "[email protected]";

if (!preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/', $email)) {

echo "Ошибка: неправильный формат электронной почты";

}

Результат выполнения кода:

если $email соответствует формату, на экране не будет сообщений; если $email не соответствует формату, будет выведено сообщение «Ошибка: неправильный формат электронной почты».

Пример 3: Заменить все пробелы в строке на символ «_» и вывести измененную строку на экран.

$string = "Here is a string with spaces";

$new_string = preg_replace('/s+/', '_', $string);

echo $new_string;

Результат выполнения кода:

«Here_is_a_string_with_spaces»

Пример 4: Извлечь доменное имя из URL-адреса и вывести его на экран.

$url = "https://www.example.com/index.php";

preg_match('/^(?:https?://)?(?:[^@n]+@)?(?:www.)?([^:/n?]+)/im', $url, $matches);

echo $matches[1];

Результат выполнения кода:

«example.com»

Пример 5: Проверить, начинается ли строка с определенной подстроки, и вывести соответствующее сообщение.

$string = "The quick brown fox jumps over the lazy dog";

if (preg_match('/^The/', $string)) {

echo "Строка начинается с 'The'";

} else {

echo "Строка не начинается с 'The'";

}

Результат выполнения кода:

«Строка начинается с ‘The'»

Захват совпадений

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

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

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

Функция preg_match() возвращает количество совпадений, найденных в строке, а также, если были указаны захватывающие группы, массив со значениями этих групп.

Пример:

$string = 'Hello, User123!';

$pattern = '/Hello, (w+)/';

preg_match($pattern, $string, $matches);

echo "Привет, ". $matches[1] ."!";

В данном примере проверяется наличие в строке $string фразы «Hello, » и за ней любого слова (w+), которое будет захвачено в группу. Затем это слово доступно в массиве $matches по индексу [1].

Благодаря захватывающим группам можно значительно повысить эффективность работы с регулярными выражениями и извлечь из текста нужную информацию в удобном формате. Для использования этих групп необходимо просто указать индекс соответствующей подстроки в массиве $matches.

Что такое захват совпадений

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

Захват совпадений можно задать в выражении с помощью круглых скобок, где внутри скобок вы указываете, какую часть строки вы хотите получить. Например, для строки «Василий Пупкин 28 лет» мы можем использовать выражение «/([А-Я][а-я]+)s([А-Я][а-я]+)s(d+)sлет/», где:

  • ([А-Я][а-я]+) захватывает имя «Василий»
  • s захватывает пробел между именем и фамилией
  • ([А-Я][а-я]+) захватывает фамилию «Пупкин»
  • s захватывает пробел между фамилией и возрастом
  • (d+) захватывает возраст «28»
  • лет захватывает слово «лет» в конце строки

После выполнения функции preg_match с таким выражением мы получим массив с захваченными совпадениями:

Array([0]=>«Василий Пупкин 28 лет»,[1]=>«Василий»,[2]=>«Пупкин»,[3]=>«28»,[4]=>«лет»)

Таким образом, мы можем использовать захваты совпадений для извлечения нужной информации из строк и дальнейшей обработки ее в PHP.

Как работает механизм захвата совпадений

Регулярные выражения в PHP позволяют не только находить совпадения в строке, но и «захватывать» их для дальнейшей обработки. Захват совпадений возможен при использовании скобок в регулярном выражении.

Каждая пара круглых скобок задает группу захвата, которая может быть использована для дальнейшей обработки. Функция preg_match возвращает массив, содержащий все совпадения в строке и подмассивы, представляющие каждую группу захвата.

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

Например, рассмотрим следующее регулярное выражение: /(d{2})-(d{2})-(d{4})/. Оно ищет совпадения в строке в формате дд-мм-гггг и захватывает каждую группу — день, месяц и год. Функция preg_match вернет массив, содержащий всю найденную строку и три подмассива, соответствующие захваченным группам.

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

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

Какие символы используются для захвата совпадений

Функция preg_match в PHP позволяет задавать регулярные выражения, которые могут содержать символы для захвата совпадений. Такие символы называются квантификаторами.

Квантификаторы могут применяться к определенным символам или группам символов и указывать, сколько раз их нужно захватывать:

  • * — звездочка означает, что предшествующий символ может встретиться ноль или более раз.
  • + — плюс означает, что предшествующий символ должен встретиться один или более раз.
  • ? — вопросительный знак означает, что предшествующий символ может встретиться ноль или один раз.
  • {n} — фигурные скобки указывают, что предшествующий символ должен встретиться ровно n раз.
  • {n,} — фигурные скобки с запятой указывают, что предшествующий символ должен встретиться не менее n раз.
  • {n,m} — фигурные скобки с диапазоном указывают, что предшествующий символ должен встретиться не менее n и не более m раз.

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

Примеры захвата совпадений

Функция preg_match() в PHP не только находит совпадения в строке, но и может «захватывать» их. Захват совпадений позволяет сохранить найденную подстроку в переменную и использовать ее в дальнейшем коде.

Например, мы можем использовать выражение в круглых скобках (группы захвата), чтобы извлечь определенную часть строки. Вот пример:

$str = "My email is [email protected]";

$pattern = "/([a-zA-Z0-9._-]+)@([a-zA-Z0-9.-]+.[a-zA-Z]{2,6})/";

preg_match($pattern, $str, $matches);

echo "Username: " . $matches[1] . "<br>";

echo "Domain name: " . $matches[2];

Этот код найдет первый адрес электронной почты в строке и разделит его на имя пользователя и доменное имя. С помощью групп захвата мы сохраняем имя пользователя в $matches[1] и доменное имя в $matches[2].

Примеры других полезных групп захвата могут включать извлечение номера телефона, даты, URL-адреса и т.д. Если мы рассмотрим теги HTML, то мы можем извлекать атрибуты или содержимое тегов.

Для более сложных шаблонов, которые совпадают с несколькими строками, иногда удобно использовать многострочный флаг (/m) в регулярном выражении. Этот флаг позволяет совпадениям переноситься на новую строку.

Все важные детали работы с захватами можно найти в документации PHP.

Как использовать захват совпадений в реальных проектах

Функция preg_match с захватом совпадений позволяет получить определенные значения из текстовой строки на основе заданных шаблонов. Это может быть полезно в различных проектах, например, для парсинга информации с веб-страницы, обработки логов или извлечения данных из текстовых файлов.

В реальных проектах захват совпадений может использоваться для автоматизации задач сбора и обработки информации. Например, если необходимо извлечь данные из HTML-кода, можно использовать регулярное выражение с захватом совпадений, чтобы получить только нужный фрагмент кода.

Другой пример использования захвата совпадений — обработка лог-файлов системы. С помощью регулярного выражения можно извлечь определенную информацию из лог-файла, например, даты и времени событий, IP-адреса, ошибки и т.д. Это позволяет быстро обрабатывать и анализировать большие объемы данных.

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

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

Какие возможности открываются благодаря захвату совпадений

Функция preg_match в PHP позволяет не только проверять соответствие строки определенному шаблону, но и захватывать определенные совпадения из этой строки. Это открывает множество новых возможностей для обработки текста и работы с данными.

С помощью захвата совпадений можно, например, извлекать конкретные данные из текстовых файлов или выделять отдельные элементы из HTML-страниц. Также это очень полезно для разбора строк, содержащих структурированные данные, такие как даты, номера телефонов и прочее.

Захват совпадений также позволяет заменять определенные элементы строки на другие значения или производить дополнительные операции с полученными данными. Например, можно производить математические операции или сортировать полученные данные по определенному критерию.

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

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

Вывод

Функция preg_match является очень мощным инструментом для работы с регулярными выражениями в PHP. Она позволяет осуществлять поиск совпадений в строках и захватывать найденные фрагменты для дальнейшей обработки. Это особенно полезно при работе с большими объемами текста или при поиске конкретной информации в файлах.

С помощью захвата совпадений мы получаем доступ к найденным фрагментам, которые можно дальше обрабатывать или использовать в выводе. Например, мы можем выделить ключевые слова в тексте и вывести их жирным шрифтом с помощью тега <strong>. Или мы можем создать список найденных элементов, используя теги <ul> и <li>.

Кроме того, функция preg_match поддерживает использование регулярных выражений с использованием специальных символов, таких как «.», «*», «+», «?», «^», «$» и т.д. Это позволяет более точно настраивать поиск и захватывать нужные фрагменты.

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

Значимость регулярных выражений и preg_match в PHP-разработке

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

Функция preg_match в PHP позволяет производить поиск по заданному регулярному выражению и возвращать найденные совпадения в виде массива. Благодаря возможности захвата совпадений в регулярном выражении, можно легко обрабатывать полученные данные и использовать их для решения задачи.

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

Несмотря на некоторую сложность и необходимость изучения синтаксиса регулярных выражений, их использование может значительно упростить и ускорить процесс разработки в PHP. Поэтому овладеть навыками работы с регулярными выражениями и функцией preg_match может быть весьма полезно любому PHP-разработчику.

Как применение захвата совпадений повышает производительность

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

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

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

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

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

FAQ

Что такое регулярное выражение в PHP?

Регулярное выражение – это последо- вательность символов, которая определяет шаблон поиска. В PHP они используются для поиска текста, замены в тексте и проверки соответствия текста заданному шаблону.

Как использовать функцию preg_match в PHP?

Функция preg_match в PHP используется для поиска текста, соответствующего заданному шаблону. Она принимает три параметра: шаблон, строку для поиска и массив, в котором будут храниться найденные совпадения. Например: preg_match(‘/btestb/’, ‘Это тестовая строка’, $matches);

Какой синтаксис используется для задания регулярных выражений в PHP?

В PHP синтаксис для задания регулярных выражений заключается в косых чертах (/) в начале и конце выражения. Например: ‘/btestb/’.

Что такое захват совпадений в функции preg_match?

Захват совпадений в функции preg_match – это возможность сохранить найденные совпадения в отдельном массиве. Для этого используется третий параметр функции preg_match – массив, в котором будут храниться найденные совпадения.

Как можно использовать регулярные выражения для проверки корректности email-адреса?

Для проверки корректности email-адреса можно использовать регулярное выражение: ‘/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/’.

Cодержание

Ссылка на основную публикацию
Adblock
detector