Начиная с этой статьи мы с Вами будем учиться составлять регулярные выражения . Я уже писал, что регулярное выражение состоит из трёх частей: метасимволов , квантификаторов и спецсимволов . И в этом материале мы с Вами разберём метасимволы в регулярных выражениях .
Начиная с этой статьи мы с Вами будем учиться составлять регулярные выражения. Я уже писал, что регулярное выражение состоит из трёх частей: метасимволов, квантификаторов и спецсимволов. И в этом материале мы с Вами разберём метасимволы в регулярных выражениях.
Давайте приведу таблицу с метасимволами, используемых в регулярных выражениях:
| Метасимвол | Что делает |
| . | Соответствует одному любому символу. |
| ^sym | Соответствует строке, которая начинается с последовательности sym. |
| sym$ | Соответствует строке, которая заканчивается с последовательности sym. |
| a1|a2|a3 | Этот метасимвол соответствует любой последовательности символов, разделяемых им. В данном случае, соответствие будет, если строка будет содержать a1, либо a2, либо a3. |
| [a-zA-Z] | Соответствует любому символу (либо символу из заданного диапазона, как в примере). Все символы должны идти без знаков разделения (например, abcdef). Обратите внимание, что данный метасимвол соответствует одному символу! |
| [^a-zA-Z] | Противоположность предыдущему метасимолу. То есть соответствие будет тогда, когда проверяемый символ не будет перечислен в указанной последовательности символов (либо диапазоне). |
| (.[a-z]) | Круглые скобки служат для выделения определённых частей регулярного выражения. Они называются "карманами" или "субпаттернами", о которых я бегло упомянул в прошлой статье. Важнейший метасимвол, значение которого Вы поймёте позже. |
Теперь давайте закрепим материал по данным метасимволам:
/^abc([0-9])[^a]./
Обратите внимание, что в начале и конце регулярного выражения должен находиться один и тот же символ. Это может быть любой символ (за исключением некоторых). Но по традиции используют символ "/", иногда "#". То есть в начале и конце регуярного выражения должен стоять этот выбранный символ (повторяю, что это может быть практически любой символ, который только означает начало и конец регулярного выражения).
Переведу регулярное выражение в примере на русский язык. Строка, которая "начинается с abc, далее идёт любая цифра, далее идёт любой символ, кроме "a", а затем вообще любой символ", будет соответствовать регулярному выражению, написанному выше. Более того, цифру мы выделили в круглые скобки, соответственно она попадёт в "карман".
Пример строки, которая будет соответствовать данному регулярному выражению: "abc59x" (строка "abc59x_и_далее_неважно_что" также будет соответствовать). А в субпаттерн ("карман") попадёт цифра 5.
Пока всё, переваривайте эту информацию, практикуйтесь в написании своих регулярных выражениях, а завтра будет статья по квантификаторам в регулярных выражениях, которые расширяют возможности по их написанию.
