⊗jsSpREInr 96 of 294 menu

Wprowadzenie do wyrażeń regularnych w JavaScript

Wyrażenia regularne to takie polecenia dla skomplikowanego wyszukiwania i zamiany (lub po prostu wyszukiwania). Pozwalają one robić bardzo ciekawe rzeczy, ale niestety są dość trudne do opanowania.

Istnieje kilka metod JavaScript do pracy z wyrażeniami regularnymi. Zaczniemy zapoznawać się z nimi na przykładzie replace - znacie już tę metodę: przyjmuje ona pierwszym parametrem co zmienić, a drugim - na co zmienić. A sama metoda jest stosowana do ciągu znaków, w którym dokonywana jest zamiana:

'bab'.replace('a', '!'); // zwróci 'b!b'

Pierwszym parametrem tej metody można przekazać nie tylko ciąg znaków, ale wyrażenie regularne. Wyrażenie regularne reprezentuje zestaw poleceń, umieszczonych wewnątrz ukośników /. Te ukośniki nazywane są ogranicznikami wyrażeń regularnych.

Same wyrażenia regularne składają się z dwóch typów znaków: z tych, które oznaczają same siebie oraz ze znaków-poleceń, które nazywane są znakami specjalnymi.

Litery i cyfry oznaczają same siebie. W następnym przykładzie za pomocą wyrażenia regularnego zamienimy literę 'a' na !:

'bab'.replace(/a/, '!'); // zwróci 'b!b'

A tutaj kropka jest znakiem specjalnym i oznacza dowolny znak. W następnym przykładzie znajdziemy ciąg znaków według takiego wzorca: litera 'x', następnie dowolny znak, następnie znowu litera 'x':

'xax eee'.replace(/x.x/, '!'); // zwróci '! eee'

Po ogranicznikach można pisać modyfikatory - polecenia, które zmieniają ogólne właściwości wyrażenia regularnego. Na przykład, modyfikator g włącza tryb globalnego wyszukiwania i zamiany - bez niego wyrażenie regularne szuka tylko pierwszego dopasowania, a z nim - wszystkie dopasowania.

W następnym przykładzie nie podano modyfikatora g i wyrażenie regularne znajdzie tylko pierwsze dopasowanie:

'aab'.replace(/a/, '!'); // zwróci '!ab'

A teraz wyrażenie regularne znajdzie wszystkie dopasowania:

'aab'.replace(/a/g, '!'); // zwróci '!!b'

Dany jest ciąg znaków:

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

Napisz wyrażenie regularne, które znajdzie ciągi znaków 'ahb', 'acb', 'aeb' według wzorca: litera 'a', dowolny znak, litera 'b'.

Dany jest ciąg znaków:

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

Napisz wyrażenie regularne, które znajdzie ciągi znaków 'abba', 'adca', 'abea' według wzorca: litera 'a', 2 dowolne znaki, litera 'a'.

Dany jest ciąg znaków:

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

Napisz wyrażenie regularne, które znajdzie ciągi znaków 'abba' i 'abea', nie chwytając 'adca'.

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ć