Въведение в регулярните изрази в JavaScript
Редовните изрази са низ от знаци, които се използват за валидиране на съдържанието на друг низ. Тези низове от символи, които формират регулярния израз, се съхраняват в обект.
Синтаксис
var regEx = /^(A-Za-z)/;
Тук променливият обект, наречен „regEx“, държи модела на регулярния израз. Сега нека тестваме дали друг низ съответства на този редовен израз.
код
var str = "EduCBA";
var regEx = /^(A-Za-z)/;
var res = "false";
if(str.match(regEx))(
res= "true";
)
alert(res);
изход:
вярно
Тук в горния пример, регулярният израз проверява дали низ съдържа само азбуки от A до Z в горните и долните случаи. Ако го направи, той връща "вярно", ако не "невярно".
Синтаксис на редовен израз в JavaScript
Редовният израз се състои от две части. Първата част е шаблона, последван от незадължителен флаг.
Синтаксис
var regEx = /pattern/flag
Флаговете също се наричат модификатори. Малко често се използват незадължителни флагове
-
g - глобален
Намира множество съвпадения. Ако не се използва спира след първия мач.
код
var str = "I scream, you scream, we all scream for ice cream";
var regEx = / scream/g;
var result = str.match(regEx);
alert( result );
изход:
крещя, крещи, крещи // Връща всички съвпадения в низ.
-
аз - случай на игнориране
Това е нечувствително към регистъра и съответства както на горните, така и на долните случаи. Ако не е зададено, тогава търсенето е чувствително към регистъра.
код
var str = "Hello EduCBA";
var regEx = /educba/i;
alert( str.search(regEx) );
изход:
6 // връща индекса, в който е намерен низът
сигнал (str.search (/ educba /)); // без глобален флаг
изход:
-1
-
m - многоредова
Засяга поведението на знаците „^” и „$”. В случай на многоредови, той търси съвпадения в началото и в края на всеки ред, а не този на целия низ. Ако не е в многоредов режим, тогава се връщат само съвпаденията от целия низ.
код
var str = `I scream,
you scream,
we all scream for ice cream`;
var regEx = /^\w+/gm;
var result = str.match(regEx);
alert( result );
изход:
Аз, ти, ние // отпечатваме първата дума на всеки ред.
Сега, нека да разгледаме моделите в редовния израз. Моделът се състои от диапазони, метасимволи, количествени характеристики и т.н.
Метахарактори на регулярни изрази в JavaScript
Метахарактеристите формират основата на модела на регулярния израз. Това са комбинация от обратна наклонена черта с азбучен символ, който заедно образува метасимвол и всеки от тях има специално значение, свързано с всеки от тях. Например „\ n“ означава нов ред. Няколко други примера са метасимволи.
- \ t - използва се за намиране на символ на раздела.
- \ v - използва се за намиране на вертикален символ на раздела.
- \ s - използва се за намиране на бели символи.
- \ S - използва се за намиране на небели символи за интервал.
- \ d - използва се за намиране на цифрови цифри.
- \ D - използва се за намиране на нунови цифрови цифри.
- \ w - използва се за намиране на думи.
- \ W - използва се за намиране на нещо, освен думи.
- , - точка се използва за намиране на единичен знак, различен от новата линия или края на реда.
- \ 0 - използва се за намиране на нулев символ.
Набори и диапазони на регулярни изрази в JavaScript
В този сценарий квадратните скоби се използват като част
Синтаксис
Say, for the set (abc) – only the characters a, b and c are to be considered.
Примери 1
- (abc) - това е всеки символ, различен от abc.
- (a | b) - Или a или b могат да бъдат разгледани.
В случай на диапазони се предоставя интервал между този диапазон, всички символи трябва да бъдат взети под внимание. Например: (az) означава, че всички знаци от до z в малки букви ще бъдат взети под внимание.
Примери 2
- (0-9) - всички знаци от нула до девет.
- (AZ) - всички символи от А до Я в главни букви.
Квантори на регулярни изрази в JavaScript
Те се означават с помощта на специални знаци. Всеки специален знак има значение, свързано с него. Тези знаци се използват заедно с регулярни изрази. Малко от най-използваните квантори са:
- * - Съответства на низ, съдържащ нула или повече инстанции.
- + - Съответства на низ, съдържащ един или повече инстанции.
- ? - Съответства на низ, съдържащ нула или един екземпляр.
- (n) - Тук "n" приема число. Съответства на необходимия редовен израз с броя пъти, споменати вместо „n“.
- $ - Съответства на дадения израз с края на низа.
- - Съответства на дадения израз с началото на низа.
- ? = - Съответства на всеки низ с образеца на регекс след знака равен.
- ?! - Съответства на всеки низ, който не съдържа образеца на регекс след възклицателния знак.
Свойства на регулярните изрази в JavaScript
Състои се от следните свойства:
- Конструктори - Определя коя функция е създала прототипа на обекта с редовен израз.
- Global - Проверява дали е зададено знамето „g“.
- Игнорирайте случай - проверява дали флагът „i“ е зададен.
- Последният индекс - Определя позицията на индекса, от която следва да започне следващият мач.
- Multiline - Проверява дали флагът „m“ е зададен.
- Източник - дава текста на модела на регулярния израз.
Методи в регулярни изрази и струни
Често използвани методи в регулярни изрази
- exec () - Изпълнява да търси съвпадения в низ и връща първото съвпадение. Ако не се намери съвпадение, след това връща нула.
- test () - Тестове за съвпадения в низ и връща резултата под формата на Boolean. Тоест ако се намери съвпадение, то връща вярно, ако не, тогава връща невярно.
- toString () - Връща еквивалентен низов обект на регулярния израз.
Низови методи, които са полезни при работа с регулярни изрази
- match () - Това е метод String, който търси съвпадение в низ. Ако е намерено, връща съвпадението, ако не, тогава връща нула.
- matchAll () - Това е метод String, който търси всички съвпадения в низ.
- split () - Това е стринг метод, използван за разчупване на низ въз основа на предоставения редовен израз.
- search () - Това е низов метод, използван за търсене на съвпадение с дадения редовен израз. Връща 0 при успех и -1 при неуспех.
заключение
Редовните изрази могат да бъдат написани чрез използване на различни комбинации от метахарактори, количествени характеристики и знамена, когато това се изисква. Те също идват със собствен набор от методи и също така работят добре с често използвани стринг методи. Човек лесно би могъл да ги използва за валидиране или ограничаване на съдържанието според изискванията.
Препоръчителни статии
Това е ръководство за регулярни изрази в JavaScript. Тук сме обсъдили Синтаксис към регулярни изрази в JavaScript, метахарактори, набори и диапазони, квантори, свойства, методи с изходи. Можете също да прегледате нашите статии, за да научите повече-
- Как работи JavaScript
- Какво е JavaScript?
- Как да инсталирате JavaScript
- Въведение в JavaScript
- Функции на Regex в Python (пример)