⊗jsSpREInr 96 of 294 menu

Въведение в регулярните изрази в JavaScript

Регулярните изрази са такива команди за сложно търсене и замяна (или просто търсене). Те позволяват да се правят много интересни неща, но, за съжаление, са доста трудни за усвояване.

Съществуват няколко метода в JavaScript за работа с регулярни изрази. Ще започнем да се запознаваме с тях на примера на replace - вече сте запознати с този метод: той първият параметър приема какво да се промени, а вторият - на какво да се промени. А самият метод се прилага към низа, в който се извършва замяната:

'bab'.replace('a', '!'); // ще върне 'b!b'

Първият параметър на този метод може да приема не просто низ, а регулярен израз. Регулярният израз представлява набор от команди, разположени внутри на наклонени черти /. Тези наклонени черти се наричат ограничители на регулярните изрази.

Самите регулярни изрази се състоят от два типа символи: от тези, които означават сами себе си и от символи-команди, които се наричат специални символи.

Буквите и цифрите означават сами себе си. В следващия пример ще заменим буквата 'a' с ! с помощта на регулярен израз:

'bab'.replace(/a/, '!'); // ще върне 'b!b'

А една точка е специален символ и означава всякакъв символ. В следващия пример ще намерим низ по такъв шаблон: буква 'x', след което всякакъв символ, след това отново буква 'x':

'xax eee'.replace(/x.x/, '!'); // ще върне '! eee'

След ограничителите може да се пишат модификатори - команди, които променят общите свойства на регулярния израз. Например, модификаторът g включва режим на глобално търсене и замяна - без него регулярният израз търси само първото съвпадение, а с него - всички съвпадения.

В следващия пример не е указан модификатор g и регулярният израз ще намери само първото съвпадение:

'aab'.replace(/a/, '!'); // ще върне '!ab'

А сега регулярният израз ще намери всички съвпадения:

'aab'.replace(/a/g, '!'); // ще върне '!!b'

Даден е низ:

let str = 'ahb acb aeb aeeb adcb axeb';

Напишете регулярен израз, който ще намери низовете 'ahb', 'acb', 'aeb' по шаблон: буква 'a', всякакъв символ, буква 'b'.

Даден е низ:

let str = 'aba aca aea abba adca abea';

Напишете регулярен израз, който ще намери низовете 'abba', 'adca', 'abea' по шаблон: буква 'a', 2 всякакви символи, буква 'a'.

Даден е низ:

let str = 'aba aca aea abba adca abea';

Напишете регулярен израз, който ще намери низовете 'abba' и 'abea', без да улови 'adca'.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне