⊗jsSpREHHy 110 of 294 menu

Pomlčka uvnitř množin v regulárních výrazech JavaScript

Pomlčka - je také speciální znak uvnitř [ ] (zvenčí - ale ne). Pokud potřebujete samotnou pomlčku jako znak - umístěte ji tam, kde nebude pochopena jako oddělovač skupiny.

Proč je to důležité: můžete vytvořit skupinu znaků, aniž byste si toho všimli. Například, takto - '[:-@]' - si myslíte, že vybíráte dvojtečku, pomlčku a zavináč, ale ve skutečnosti vznikne skupina znaků mezi : a @. Do této skupiny patří následující znaky: ? < = > : ;

Odkud se vzaly? Z tabulky ASCII - dvojtečka má nižší číslo než zavináč - a vznikne skupina. To znamená, že všechny skupiny jsou tvořeny podle tabulky ASCII (pokud chcete, můžete toho využívat).

Jak s tím bojovat: umístěte znak pomlčky tam, kde rozhodně nebude pochopen jako znak skupiny, například na začátek nebo na konec (tedy za [ nebo před ]).

Pomlčku lze také escapovat - pak bude vždy znamenat samu sebe, bez ohledu na pozici. Například místo [:-@] napsat [:\-@] - a skupina již nevznikne, ale budou tři znaky - dvojtečka, pomlčka a zavináč @.

Příklad

V následujícím příkladu je vzor hledání tento: číslice 1, poté písmeno od 'a' do 'z', poté číslice 2:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a-z]2/g, '!');

Výsledkem bude, že se do proměnné zapíše následující:

'! 1-2 ! !'

Příklad

Nyní pojďme escapovat pomlčku. Výsledkem bude tento vzor hledání: číslice 1, poté písmeno 'a', nebo pomlčka, nebo písmeno 'z', poté číslice 2:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a\-z]2/g, '!');

Výsledkem bude, že se do proměnné zapíše následující:

'! ! 1c2 !'

Příklad

Lze jednoduše přemístit pomlčku, aniž byste ji escapovali:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[az-]2/g, '!');

Výsledkem bude, že se do proměnné zapíše následující:

'! ! 1c2 !'

Příklad

V následujícím příkladu je vzor hledání tento: první znak - to jsou malá písmena nebo pomlčka '-', pak dvě písmena 'x':

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-z-]xx/g, '!');

Výsledkem bude, že se do proměnné zapíše následující:

'! Axx ! @xx'

Příklad

V následujícím příkladu je vzor hledání tento: první znak - to jsou malá, velká písmena nebo pomlčka '-', pak dvě písmena 'x':

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-zA-Z-]xx/g, '!');

Výsledkem bude, že se do proměnné zapíše následující:

'! ! ! @xx'

Příklad

Pomlčku lze umístit mezi dvě skupiny - tam rozhodně ještě nevytvoří další skupinu:

let str = 'axx 9xx -xx @xx'; let res = str.replace(/[a-z-0-9]xx/g, '!');

Výsledkem bude, že se do proměnné zapíše následující:

'! ! ! @xx'

Praktické úlohy

Je dán řetězec:

let str = 'xaz xBz xcz x-z x@z';

Najděte všechny řetězce podle následujícího vzoru: písmeno 'x', velké nebo malé písmeno nebo pomlčka, písmeno 'z'.

Je dán řetězec:

let str = 'xaz x$z x-z xcz x+z x%z x*z';

Najděte všechny řetězce podle následujícího vzoru: písmeno 'x', poté nebo dolar, nebo pomlčka nebo plus, pak písmeno 'z'.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout