⊗jsSpREMl 114 of 294 menu

Wielowierszowość w wyrażeniach regularnych JavaScript

Wyrażenia regularne podczas pracy z wielowierszowymi ciągami znaków mają swoje specyficzne cechy. Przyjrzyjmy się im na przykładzie następującego ciągu, zawierającego zwykłe znaki, znaki nowej linii i tabulacji:

let str = `111 222 333 444`;

Nowa linia

Znaki nowej linii można złapać za pomocą polecenia '\n':

let res = str.replace(/\n/g, '!');

W rezultacie do zmiennej zostanie zapisane następujące (przerwy między wierszami - to tabulacja):

`111! 222! 333! 444`;

Tabulacja

Znaki tabulacji można złapać za pomocą polecenia '\t':

let res = str.replace(/\t/g, '!');

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

` 111 !222 !333 !444 `;

Działanie kropki

Polecenie '.' dla wielowierszowego ciągu nie łapie znaków nowej linii:

let res = str.replace(/./g, '!');

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

` !!! !!!! !!!! !!!! `;

Dowolny znak

Aby złapać wszystkie znaki w wielowierszowym ciągu, używa się sprytnej sztuczki w postaci kombinacji [\s\S]. Taka konstrukcja znajdzie wszystkie zwykłe znaki i wszystkie znaki nowej linii:

let res = str.replace(/[\s\S]/g, '!');

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

`!!!!!!!!!!!!!!!!!!`;

Daszek

Za pomocą modyfikatora 'm' można włączyć tryb wielowierszowy. W tym przypadku daszek będzie łapał początek każdego wiersza:

let res = str.replace(/^/gm, '!');

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

` !111 !222 !333 !444 `;

Dolar

Polecenie ' w trybie wielowierszowym będzie łapać koniec każdego wiersza:

let res = str.replace(/$/gm, '!');

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

` 111! 222! 333! 444! `;

Zadania praktyczne

Dany jest ciąg:

` abc def ghi jkl `;

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

` abc! def! ghi! jkl! `;

Dany jest ciąg:

` abc def ghi jkl `;

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

` ! abc ! def ! ghi ! jkl `;

Dany jest ciąg:

` abc def ghi jkl `;

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

`! abc def ghi jkl !`;

Dany jest ciąg:

` abc def ghi jkl `;

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

`! ! abc ! def ! ghi ! jkl !`;

Dany jest ciąg:

` abc def ghi jkl `;

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

`! abc! def! ghi! jkl! !`;

Dany jest ciąg:

` abc def ghi jkl `;

Napisz wyrażenie regularne, które przekształci ten ciąg w następujący:

` !abc !def !ghi !jkl `;
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ć