⊗jsSpREOC 115 of 294 menu

Polecenie 'lub' w wyrażeniach regularnych JavaScript

W tej lekcji przeanalizujemy polecenie '|', które stanowi bardziej zaawansowany wariant 'lub' w porównaniu z poleceniem [ ]. To polecenie pozwala podzielić wyrażenie regularne na kilka części. Przy tym szukany element może pasować albo do jednej części wyrażenia, albo do drugiej. Spójrzmy na przykładach.

Przykład

W tym przykładzie wzorzec wyszukiwania jest następujący: trzy litery 'a' lub trzy litery 'b':

let str = 'aaa bbb abb'; let res = str.replace(/a{3}|b{3}/g, '!');

W wyniku do zmiennej zostanie zapisane następujące:

'! ! abb'

Przykład

W tym przykładzie wzorzec wyszukiwania jest następujący: trzy litery 'a' lub od 1 i więcej liter 'b':

let str = 'aaa bbb bbbb bbbbb axx'; let res = str.replace(/a{3}|b+/g, '!');

W wyniku do zmiennej zostanie zapisane następujące:

'! ! ! ! axx'

Przykład

W tym przykładzie wzorzec wyszukiwania jest następujący: jedna lub więcej liter lub trzy cyfry:

let str = 'a ab abc 1 12 123'; let res = str.replace(/[a-z]+|\d{3}/g, '!');

W wyniku do zmiennej zostanie zapisane następujące:

'! ! ! 1 12 !'

Przykład

Pionowa kreska może dzielić wyrażenie regularne nie na dwie części, ale na dowolną liczbę części:

let str = 'aaa bbb ccc ddd'; let res = str.replace(/a+|b+|c+/g, '!');

W wyniku do zmiennej zostanie zapisane następujące:

'! ! ! ddd'

Przykład

Jeśli pionowa kreska znajduje się wewnątrz okrągłych nawiasów, to 'lub' działa tylko wewnątrz tych nawiasów.

Jako przykład znajdźmy ciągi znaków według następującego wzorca: na początku znajduje się lub 'a', lub 'b' jeden lub więcej razy, a potem dwie litery 'x':

let str = 'axx bxx bbxx exx'; let res = str.replace(/(a|b+)xx/g, '!');

W wyniku do zmiennej zostanie zapisane następujące:

'! ! ! exx'

Zadania praktyczne

Dany jest ciąg znaków:

let str = 'aeeea aeea aea axa axxa axxxa';

Napisz wyrażenie regularne, które znajdzie ciągi znaków według wzorca: na brzegach znajdują się litery 'a', a pomiędzy nimi - lub litera 'e' dowolną liczbę razy lub litera 'x' dowolną liczbę razy.

Dany jest ciąg znaków:

let str = 'aeeea aeea aea axa axxa axxxa';

Napisz wyrażenie regularne, które znajdzie ciągi znaków według wzorca: na brzegach znajdują się litery 'a', a pomiędzy nimi - lub litera 'e' dwa razy lub litera 'x' dowolną liczbę razy.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć