⊗jsSpREChG 102 of 294 menu

Grupy znaków w wyrażeniach regularnych JavaScript

Istnieją specjalne komendy, które pozwalają wybrać od razu całe grupy znaków. Komenda \d oznacza cyfrę od 0 do 9. Komenda \w oznacza cyfrę, łacińską literę lub znak podkreślenia. Komenda \s oznacza spację lub znak spacji: spację, znak nowej linii, tabulację. Można odwrócić znaczenie komendy, pisząc wielką literę: na przykład, jeśli \d - cyfra, to \D - nie cyfra.

Przykład

Znajdźmy wszystkie cyfry:

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

W wyniku do zmiennej zapisze się następująco:

'! !! !!!'

Przykład

Operatory powtórzenia traktują komendy-grupy jako całość, to znaczy nawiasy grupujące nie są potrzebne. W następnym przykładzie wzorzec wyszukiwania wygląda tak: cyfra od 0 do 9 jeden lub więcej razy:

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

W wyniku do zmiennej zapisze się następująco:

'! ! ! abc @@@'

Przykład

W następnym przykładzie wzorzec wyszukiwania wygląda tak: cokolwiek jeden lub więcej razy, ale nie cyfra od 0 do 9:

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

W wyniku do zmiennej zapisze się następująco:

'123!3!'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: znak spacji jeden raz:

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

W wyniku do zmiennej zapisze się następująco:

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

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: NIE znak spacji jeden lub więcej razy. Wszystkie podciągi, oddzielone spacjami, zostaną zastąpione na '!':

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

W wyniku do zmiennej zapisze się następująco:

'! ! ! ! !'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: cyfra lub litera jeden lub więcej razy. Wszystkie podciągi, składające się z cyfr i liter, zostaną zastąpione na '!':

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

W wyniku do zmiennej zapisze się następująco:

'! ! ! ! @@@'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda tak: NIE cyfra i NIE litera jeden lub więcej razy. W rozpatrywanym przypadku do tej definicji kwalifikuje się '@@@' i wszystkie spacje (one przecież też nie są cyframi ani literami). Zwróć uwagę na to, że na końcu jedna '!' - w nią przekształcił się ciąg ' @@@' - ze spacją na początku:

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

W wyniku do zmiennej zapisze się następująco:

'1!12!123!Abc!'

Zadania praktyczne

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi, w których na brzegach stoją litery 'a', a między nimi jedna cyfra.

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi, w których na brzegach stoją litery 'a', a między nimi dowolna liczba cyfr.

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi, w których na brzegach stoją litery 'a', a między nimi dowolna liczba cyfr (w tym również zero cyfr, to znaczy ciąg 'aa').

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi następującego rodzaju: na brzegach stoją litery 'a' i 'b', a między nimi - nie liczba i nie spacja.

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi następującego rodzaju: na brzegach stoją litery 'a' i 'b', a między nimi - nie litera, nie cyfra i nie spacja.

Dany jest ciąg:

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

Napisz wyrażenie regularne, które zamieni wszystkie spacje na '!'.

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ć