Регулярни изрази в JavaScript – RegEx

Регулярния израз представлява поредица от символи, които се използват при търсене на определени елементи или думи. Регулярните изрази се ползват за търсене на думи в текст или за замяната на такива.

Какво е регулярен израз?

Регулярен израз е последователност от символи, които формират модел за търсене. Когато търсите определени елементи в текст, можете да използвате този модел за търсене, за да опишете това, което търсите. Регулярния израз може да бъде единичен знак, или по-сложна комбинация. Те могат да се използват за всички оператори за търсене в текст или замяна.


Синтаксис при регулярните изрази

Обяснение не примера: /w3schools/i е регулярен израз.
w3schools е модел (да се използва в търсенето).
i е модификатор (модифицира търсенето да бъде нечувствително спрямо големи и малки букви).

Използването на String Методи

В JavaScript, регулярните изрази, често се използват със стринг функциитеsearch() и replace(). Методът search() търси съвпадение и връща позицията, на която намери такова. Методът replace() връща променен стринг с променените думи.


Използването на search() заедно с регулярни изрази

Използваме регулярен израз, за да направим търсене независимо от главни и малки букви:

Резултатът в N ще бъде:

Опитайте сами »

Употреба на search() със стринг

метода search() приема и стринг, с който да търси. Метода автоматично ще превърне стринга в регулярен израз: Използвайте стринг, за да направите търсене за „W3Schools“ в стринг:

Опитайте сами »

Replace() заедно с регулярен израз

Използвайте регулярен израз, за да замените Microsoft с W3Schools:

Резултатът ще бъде:

Опитайте сами »

Употреба на replace() със стринг

Опитайте сами »

Регулярните изрази могат да се използват с горе-посочените методи. Те правят търсенето с по широк обхват и могат да дефинират допълнителни фактори.

Модификаторите при Регулярните Изрази

Модификаторите се използват за извършване на по-чувствителни търсения:

Модификатор Описание
i Прави търсенето независимо от типа на буквата
g Търси глобално (намира всички елементи, които отговарят, а не само първия)
m Търсенето може да обхване повече редове

Patterns

Pattern-ите се използват, за да определим набор от символи:

Изявление Описание
[abc] намери всеки от символите в скобите
[0-9] Намери всяка от цифрите между скобите
(x|y) Намери някоя от алтернативите, разделени с |

Метасимволите са знаци със специален смисъл:

Метасимвол Описание
\d Намери цифра
\s Намери празно пространство
\b Намери съвпадение в края или в началото на думата
\uxxxx Намери уникод символа определен след \u

Quantifier-ите определят количества:

Quantifier Описание
n+ Всеки стринг, който съдържа поне едно n
n* Всеки стринг, който съдържа 0 или повече n
n? Всеки стринг, който съдържа 0 или 1 n

Използване на RegEx обект

В JavaScript, RegExp обекта е обект с предварително зададени свойства и методи.


Използването на test()

Методът на test() е RegExp метод. Той претърсва стринга за модел, и връща true или false, в зависимост от резултата. Следващият пример претърсва стринг за символ „е“:

Тъй като е налице e в низа, изхода на горния код ще бъде:

Опитайте сами »

Не сте задължени да слагате регулярния израз в променлива. Можете да съкратите кода и на един ред:


Използване на exec()

Методът exec() е метод за RegExp изразяване. Тя претърсва стринга за определен модел, и връща на намерения текст. Ако не се намери съвпадение, връща null. Следващият пример претърсва стринг за символ „е“:

Тъй като е налице e в низа, изхода на горния код ще бъде:

Опитайте сами »

За пълна справка, отидете на нашата Пълна JavaScript RegEx Референция. Справката съдържа описания и примери за всички RegExp свойства и методи.

Вижте още