⊗jsSpREChG 102 of 294 menu

Групи символи в регулярни изрази на JavaScript

Съществуват специални команди, които позволяват да се избере наведнъж цели групи символи. Командата \d означава цифра от 0 до 9. Командата \w обозначава цифра, латинска буква или знак за подчертаване. Командата \s обозначава интервал или интервален символ: интервал, нов ред, табулация. Може да се инвертира стойността на командата, като се напише главна буква: например, ако \d - цифра, то \D - не цифра.

Пример

Нека намерим всички цифри:

let str = '1 12 123'; let res = str.replace(/\d/g, '!');

В резултат в променливата ще се запише следното:

'! !! !!!'

Пример

Операторите за повторение считат командите-групи за едно цяло, тоест групиращите скоби не са необходими. В следващия пример шаблонът за търсене изглежда така: цифра от 0 до 9 един или повече пъти:

let str = '1 12 123 abc @@@'; let res = str.replace(/\d+/g, '!');

В резултат в променливата ще се запише следното:

'! ! ! abc @@@'

Пример

В следващия пример шаблонът за търсене изглежда така: всичко един или повече пъти, но не цифра от 0 до 9:

let str = '123abc3@@'; let res = str.replace(/\D+/g, '!');

В резултат в променливата ще се запише следното:

'123!3!'

Пример

В този пример шаблонът за търсене изглежда така: интервален символ един път:

let str = '1 12 123 abc @@@'; let res = str.replace(/\s/g, '!');

В резултат в променливата ще се запише следното:

'1!12!123!abc!@@@'

Пример

В този пример шаблонът за търсене изглежда така: НЕ интервален символ един или повече пъти. Всички поднизове, разделени с интервали, ще бъдат заменени на '!':

let str = '1 12 123 abc @@@'; let res = str.replace(/\S+/g, '!');

В резултат в променливата ще се запише следното:

'! ! ! ! !'

Пример

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

let str = '1 12 123a Abc @@@'; let res = str.replace(/\w+/g, '!');

В резултат в променливата ще се запише следното:

'! ! ! ! @@@'

Пример

В този пример шаблонът за търсене изглежда така: НЕ цифра и НЕ буква един или повече пъти. Под това определение в нашия случай попада '@@@' и всички интервали (те също не са цифри или букви). Обърнете внимание на това, че в края има една '!' - в нея се е преобразувал низът ' @@@' - с интервал отпред:

let str = '1 12 123 Abc @@@'; let res = str.replace(/\W+/g, '!');

В резултат в променливата ще се запише следното:

'1!12!123!Abc!'

Практически задачи

Даден е низ:

let str = 'a1a a2a a3a a4a a5a aba aca';

Напишете регулярен израз, който ще намери низовете, в които по краищата стоят букви 'a', а между тях има една цифра.

Даден е низ:

let str = 'a1a a22a a333a a4444a a55555a aba aca';

Напишете регулярен израз, който ще намери низовете, в които по краищата стоят букви 'a', а между тях има произволен брой цифри.

Даден е низ:

let str = 'aa a1a a22a a333a a4444a a55555a aba aca';

Напишете регулярен израз, който ще намери низовете, в които по краищата стоят букви 'a', а между тях има произволен брой цифри (включително и нула цифри, тоест низът 'aa').

Даден е низ:

let str = 'avb a1b a2b a3b a4b a5b abb acb';

Напишете регулярен израз, който ще намери низовете от следния вид: по краищата стоят букви 'a' и 'b', а между тях - не число и не интервал.

Даден е низ:

let str = 'ave a#b a2b a$b a4b a5b a-b acb';

Напишете регулярен израз, който ще намери низовете от следния вид: по краищата стоят букви 'a' и 'b', а между тях - не буква, не цифра и не интервал.

Даден е низ:

let str = 'ave a#a a2a a$a a4a a5a a-a aca';

Напишете регулярен израз, който ще замени всички интервали на '!'.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне