Regulární výrazy v JavaScriptu - Průvodce regulárními výrazy

Obsah:

Anonim

Ú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.

  1. \ t - používá se k nalezení znaku karty.
  2. \ v - používá se k nalezení znaku vertikální karty.
  3. \ s - používá se k hledání znaků mezer.
  4. \ S - používá se k hledání znaků jiných než mezer.
  5. \ d - používá se k nalezení číslic.
  6. \ D - používá se k nalezení nunčíselných číslic.
  7. \ w - používá k hledání slov.
  8. \ W - používá se k nalezení všeho kromě slov.
  9. . - tečka se používá k nalezení jediného znaku jiného než nový řádek nebo konec řádku.
  10. \ 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

  1. (abc) - to je jakýkoli znak jiný než abc.
  2. (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

  1. (0-9) - všechny znaky od nuly do devíti.
  2. (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:

  1. * - Odpovídá řetězci obsahujícímu nulu nebo více instancí.
  2. + - Shoduje řetězec obsahující jednu nebo více instancí.
  3. ? - Odpovídá řetězci obsahujícímu nulu nebo jednu instanci.
  4. (n) - Tady „n“ vezme číslo. Odpovídá požadovanému regulárnímu výrazu, kolikrát je uvedeno místo „n“.
  5. $ - Shoduje daný výraz s koncem řetězce.
  6. - Shoduje daný výraz se začátkem řetězce.
  7. ? = - Shoduje se jakýkoli řetězec se vzorem regexu za znaménkem rovnosti.
  8. ? - 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í:

  1. Konstruktory - Určuje, která funkce vytvořila prototyp objektu s regulárním výrazem.
  2. Globální - Zkontroluje, zda je nastaven příznak „g“.
  3. Ignorovat případ - Zkontroluje, zda byl nastaven příznak „i“.
  4. Poslední index - Určuje pozici indexu, od kterého musí začít další zápas.
  5. Víceřádková - Zkontroluje, zda byl nastaven příznak „m“.
  6. 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

  1. exec () - Provede hledání shody v řetězci a vrátí první shodu. Pokud není nalezena žádná shoda, vrátí hodnotu null.
  2. 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.
  3. 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

  1. 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.
  2. matchAll () - Jedná se o metodu String, která hledá všechny zápasy v řetězci.
  3. split () - Jedná se o řetězcovou metodu používanou k rozbití řetězce na základě poskytnutého regulárního výrazu.
  4. 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.

  1. Jak funguje JavaScript
  2. Co je to JavaScript?
  3. Jak nainstalovat JavaScript
  4. Úvod do JavaScriptu
  5. Funkce Regex v Pythonu (příklad)