Úvod do regulárních výrazů v JavaScriptu
Regulární výrazy jsou řetězce znaků, které se používají k ověření obsahu jiného řetězce. Tyto řetězce znaků, které tvoří regulární výraz, jsou uloženy v objektu.
Syntax
var regEx = /^(A-Za-z)/;
Zde proměnný objekt s názvem „regEx“ obsahuje vzorec regulárního výrazu. Nyní vyzkoušejte, zda tento regulární výraz odpovídá jinému řetězci.
Kód
var str = "EduCBA";
var regEx = /^(A-Za-z)/;
var res = "false";
if(str.match(regEx))(
res= "true";
)
alert(res);
Výstup:
skutečný
Zde ve výše uvedeném příkladu regulární výraz kontroluje, zda řetězec obsahuje pouze abecedy A až Z ve velkých i malých písmenech. Pokud ano, vrátí „true“, ne-li „false“.
Syntaxe regulárního výrazu v JavaScriptu
Regulární výraz se skládá ze dvou částí. První část je vzor, po kterém následuje volitelný příznak.
Syntax
var regEx = /pattern/flag
Vlajky jsou také označovány jako modifikátory. Málo běžně používaných volitelných příznaků je
-
g - globální
Nalezne několik shod. Pokud není použit, zastaví se po prvním zápase.
Kód
var str = "I scream, you scream, we all scream for ice cream";
var regEx = / scream/g;
var result = str.match(regEx);
alert( result );
Výstup:
scream, scream, scream // Vrací všechny zápasy v řetězci.
-
i - ignorovat případ
To je velká a malá písmena a odpovídá velkým i malým písmenům. Pokud není nastaveno, bude vyhledávání rozlišovat velká a malá písmena.
Kód
var str = "Hello EduCBA";
var regEx = /educba/i;
alert( str.search(regEx) );
Výstup:
6 // vrací index, ve kterém je řetězec nalezen.
upozornění (str.search (/ educba /)); // bez globální vlajky
Výstup:
-1
-
m - víceřádkový
Ovlivňuje chování znaků „^“ a „$“. V případě víceřádkových řetězců hledá spíše shody na začátku a na konci každé řádky, než u celého řetězce. Pokud není ve víceřádkovém režimu, budou vráceny pouze shody z celého řetězce.
Kód
var str = `I scream,
you scream,
we all scream for ice cream`;
var regEx = /^\w+/gm;
var result = str.match(regEx);
alert( result );
Výstup:
Já, vy // vytiskneme první slovo z každého řádku.
Nyní se podívejme na vzorce v regulárním výrazu. Vzor se skládá z rozsahů, metacharakterů, kvantifikátorů atd.
Metaznaky regulárních výrazů v JavaScriptu
Metaznaky tvoří základ vzoru regulárního výrazu. Jedná se o kombinaci zpětného lomítka s abecedním znakem, který společně tvoří metacharakter a každý z nich má zvláštní význam spojený s každým z nich. Například „\ n“ označuje nový řádek. Několik dalších příkladů metacharacters jsou.
- \ t - používá se k nalezení znaku karty.
- \ v - používá se k nalezení znaku vertikální karty.
- \ s - používá se k hledání znaků mezer.
- \ S - používá se k hledání znaků jiných než mezer.
- \ d - používá se k nalezení číslic.
- \ D - používá se k nalezení nunčíselných číslic.
- \ w - používá k hledání slov.
- \ W - používá se k nalezení všeho kromě slov.
- . - tečka se používá k nalezení jediného znaku jiného než nový řádek nebo konec řádku.
- \ 0 - používá se k nalezení nulového znaku.
Sady a rozsahy regulárních výrazů v JavaScriptu
V tomto scénáři jsou jako součást použity hranaté závorky
Syntax
Say, for the set (abc) – only the characters a, b and c are to be considered.
Příklady 1
- (abc) - to je jakýkoli znak jiný než abc.
- (a | b) - Lze zvážit buď a nebo b.
V případě rozsahů je stanoven rozsah mezi tímto rozsahem, všechny znaky jsou brány v úvahu. Například: (az) znamená, že budou brány v úvahu všechny znaky od a do z v malém případě.
Příklady 2
- (0-9) - všechny znaky od nuly do devíti.
- (AZ) - celá postava od A do Z velkými písmeny.
Kvantifikátory regulárních výrazů v JavaScriptu
Tito jsou označeni pomocí zvláštních charakterů. Každá speciální postava má s tím spojený význam. Tyto znaky se používají spolu s regulárními výrazy. Jen málo z nejvíce používaných kvantifikátorů je:
- * - Odpovídá řetězci obsahujícímu nulu nebo více instancí.
- + - Shoduje řetězec obsahující jednu nebo více instancí.
- ? - Odpovídá řetězci obsahujícímu nulu nebo jednu instanci.
- (n) - Tady „n“ vezme číslo. Odpovídá požadovanému regulárnímu výrazu, kolikrát je uvedeno místo „n“.
- $ - Shoduje daný výraz s koncem řetězce.
- - Shoduje daný výraz se začátkem řetězce.
- ? = - Shoduje se jakýkoli řetězec se vzorem regexu za znaménkem rovnosti.
- ? - Shoduje se s řetězcem, který neobsahuje vzor regexu po vykřičníku.
Vlastnosti regulárních výrazů v JavaScriptu
Skládá se z následujících vlastností:
- Konstruktory - Určuje, která funkce vytvořila prototyp objektu s regulárním výrazem.
- Globální - Zkontroluje, zda je nastaven příznak „g“.
- Ignorovat případ - Zkontroluje, zda byl nastaven příznak „i“.
- Poslední index - Určuje pozici indexu, od kterého musí začít další zápas.
- Víceřádková - Zkontroluje, zda byl nastaven příznak „m“.
- Zdroj - Udává text vzoru regulárního výrazu.
Metody regulárních výrazů a řetězců
Obvykle používané metody v regulárních výrazech
- exec () - Provede hledání shody v řetězci a vrátí první shodu. Pokud není nalezena žádná shoda, vrátí hodnotu null.
- test () - Testuje shody v řetězci a vrací výsledek ve formě booleovské hodnoty. To znamená, že pokud je nalezena shoda, vrací true, pokud ne, pak vrací false.
- toString () - Vrací ekvivalentní řetězcový objekt regulárního výrazu.
Metody řetězce, které jsou užitečné při práci s regulárními výrazy
- match () - Jedná se o metodu String, která hledá shodu v řetězci. Pokud je nalezena, vrátí zápas, pokud ne, vrátí hodnotu null.
- matchAll () - Jedná se o metodu String, která hledá všechny zápasy v řetězci.
- split () - Jedná se o řetězcovou metodu používanou k rozbití řetězce na základě poskytnutého regulárního výrazu.
- search () - Jedná se o řetězcovou metodu používanou k hledání shody s daným regulárním výrazem. Vrací 0 při úspěchu a -1 při selhání.
Závěr
Regulární výrazy lze psát pomocí různých kombinací metacharakterů, kvantifikátorů a příznaků, kdykoli je to potřeba. Přicházejí také s vlastní sadou metod a také dobře fungují s běžně používanými řetězcovými metodami. Dalo by se snadno použít pro ověření nebo omezení obsahu podle něčího požadavku.
Doporučené články
Toto byl průvodce pravidelnými výrazy v JavaScriptu. Zde jsme diskutovali Syntaxe regulárních výrazů v JavaScriptu, metacharnaky, množiny a rozsahy, kvantifikátory, vlastnosti, metody s výstupy. Další informace naleznete také v našich článcích.
- Jak funguje JavaScript
- Co je to JavaScript?
- Jak nainstalovat JavaScript
- Úvod do JavaScriptu
- Funkce Regex v Pythonu (příklad)