Регулярные выражения – это очень полезный инструмент для разработчиков. С их помощью можно находить, определять или заменять текст, слова или любые другие символы. В сегодняшней статье собраны 15 наиболее полезных регулярных выражений, которые пригодятся любому веб-разработчику.
Введение в регулярные выражения
Многим начинающим разработчикам кажется, что регулярные выражения очень сложны для понимания и использования. На самом деле, все не так уж сложно, как может показаться. Прежде чем мы непосредственно перейдем к регулярным выражениям, с их полезным и универсальным кодом, давайте взглянем на основы:
Синтаксис регулярных выражений
|
Регулярное выражение |
Означает |
|
foo |
Строка “foo” |
|
^foo |
Строка начинается с “foo” |
|
foo$ |
Строка заканчивается на “foo” |
|
^foo$ |
«foo» встречается в строке только один раз |
|
[abc] |
a, b, или c |
|
[a-z] |
любой символ в нижнем регистре |
|
[^A-Z] |
любой символ, не находящийся в верхнем регистре |
|
(gif|jpg) |
Означает как «gif” так и “jpeg” |
|
[a-z]+ |
Один или более символов нижнего регистра |
|
[0-9.-] |
Любая цифра, точка или знак минус |
|
^[a-zA-Z0-9_]{1,}$ |
Любое слово, хотя бы одна буква, число или _ |
|
([wx])([yz]) |
wy, wz, xy, или xz |
|
(^A-Za-z0-9) |
Любой символ (не число и не буква) |
|
([A-Z]{3}|[0-9]{4}) |
Означает три буквы или 4 цифры |
PHP-функции для регулярных выражений
|
Функция |
Описание |
|
preg_match() |
Функция preg_match() ищет строку по заданному шаблону, возвращает true, если строка находится и false, в остальных случаях |
|
preg_match_all() |
Функция preg_match_all() находит все вхождения строки, заданной по шаблону |
|
preg_replace() |
Функция preg_replace(), действует по тому же принципу, что и ereg_replace(), за исключением того, что регулярные выражения можно использовать как для задания шаблона поиска, так и для строки, на которую следует заменить, найденное значение. |
|
preg_split() |
Функция preg_split(), действует так же как split(), за исключением того, что регулярное выражение можно использовать в качестве параметра для шаблона поиска. |
|
preg_grep() |
Функция preg_grep() ищет все элементы входного массива, возвращая все элементы, соответствующие шаблону регулярного выражения. |
|
preg_quote() |
Экранирует символы регулярного выражения |
Проверка доменного имени
Проверяем, является ли строка правильным доменным именем
2 |
if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) { |
3 |
echo "Your url is ok."; |
Подсветка слова в тексте
Это очень полезное регулярное выражение, с его помощью вы можете найти нужное слово и подсветить его. Особенно полезно для отображения результатов поиска.
1 |
$text = "Sample sentence from KomunitasWeb, regex has become popular in web programming. Now we learn regex. According to wikipedia, Regular expressions (abbreviated as regex or regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor"; |
2 |
$text = preg_replace("/b(regex)b/i", '1', $text); |
Подсветка результатов поиска в WordPress блоге
Как уже говорилось в предыдущем примере, этот пример кода, удобно использовать в выдаче поисковых результатов и есть отличный способ внедрить эту функцию в wordpress-блог.
Откройте ваш файл search.php, и найдите функцию the_title(). Замените ее следующим кодом:
Теперь, выше этой строки, добавьте этот код:
2 |
$title = get_the_title(); |
3 |
$keys= explode(" ",$s); |
4 |
$title = preg_replace('/('.implode('|', $keys) .')/iu', |