Wyrażenia regularne i obiekt RegExp

Wyrażenie regularne to obiekt opisujący wzorzec znaków.

JavaScript RegExp klasa reprezentuje wyrażenia regularne, a zarówno String, jak i RegExp Zdefiniuj metody, które używają wyrażeń regularnych do wykonywania zaawansowanych funkcji dopasowywania wzorców oraz wyszukiwania i zamieniania tekstu.

Składnia

Wyrażenie regularne można zdefiniować za pomocą RegExp () konstruktor, jak następuje -

var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;

Oto opis parametrów -

  • pattern - ciąg określający wzorzec wyrażenia regularnego lub innego wyrażenia regularnego.

  • attributes - Opcjonalny ciąg zawierający dowolny z atrybutów „g”, „i” i „m”, które określają odpowiednio dopasowanie globalne, bez rozróżniania wielkości liter i wielowierszowe.

Wsporniki

Nawiasy ([]) mają specjalne znaczenie, gdy są używane w kontekście wyrażeń regularnych. Służą do wyszukiwania szeregu znaków.

Sr.No. Wyrażenie i opis
1

[...]

Dowolny znak w nawiasach.

2

[^...]

Dowolny znak spoza nawiasów.

3

[0-9]

Dopasowuje dowolną cyfrę dziesiętną od 0 do 9.

4

[a-z]

Pasuje do dowolnego znaku z małych liter a małymi literami z.

5

[A-Z]

Dopasowuje dowolny znak z wielkich liter A przez wielkie litery Z.

6

[a-Z]

Pasuje do dowolnego znaku z małych liter a przez wielkie litery Z.

Przedstawione powyżej zakresy są ogólne; możesz również użyć zakresu [0-3], aby dopasować dowolną cyfrę dziesiętną z zakresu od 0 do 3, lub zakresu [bv], aby dopasować dowolną małą literę odb przez v.

Kwantyfikatory

Częstotliwość lub położenie sekwencji znaków w nawiasach i pojedynczych znaków można oznaczyć znakiem specjalnym. Każdy znak specjalny ma określoną konotację. Wszystkie flagi +, *,? I $ następują po sekwencji znaków.

Sr.No. Wyrażenie i opis
1

p+

Pasuje do dowolnego ciągu zawierającego jeden lub więcej znaków p.

2

p*

Pasuje do dowolnego łańcucha zawierającego zero lub więcej znaków p.

3

p?

Pasuje do dowolnego ciągu zawierającego co najwyżej jeden p.

4

p{N}

Pasuje do dowolnego ciągu zawierającego sekwencję N p

5

p{2,3}

Pasuje do dowolnego ciągu zawierającego sekwencję dwóch lub trzech p.

6

p{2, }

Pasuje do dowolnego ciągu zawierającego sekwencję co najmniej dwóch p.

7

p$

Dopasowuje dowolny ciąg z literą p na końcu.

8

^p

Dopasowuje dowolny ciąg z literą p na początku.

Przykłady

Poniższe przykłady wyjaśniają więcej na temat dopasowywania znaków.

Sr.No. Wyrażenie i opis
1

[^a-zA-Z]

Pasuje do dowolnego ciągu niezawierającego żadnego ze znaków od a przez z i A przez Z.

2

p.p

Pasuje do dowolnego ciągu zawierającego p, po którym następuje dowolny znak, po którym następuje kolejny p.

3

^.{2}$

Pasuje do dowolnego ciągu zawierającego dokładnie dwa znaki.

4

<b>(.*)</b>

Pasuje do dowolnego ciągu zawartego w <b> i </b>.

5

p(hp)*

Pasuje do dowolnego ciągu zawierającego p po którym następuje zero lub więcej wystąpień sekwencji hp.

Dosłowne znaki

Sr.No. Opis postaci
1

Alphanumeric

Samo

2

\0

Znak NUL (\ u0000)

3

\t

Karta (\ u0009

4

\n

Nowa linia (\ u000A)

5

\v

Zakładka pionowa (\ u000B)

6

\f

Plik danych (\ u000C)

7

\r

Powrót karetki (\ u000D)

8

\xnn

Znak łaciński określony przez liczbę szesnastkową nn; na przykład \ x0A to to samo, co \ n

9

\uxxxx

Znak Unicode określony przez liczbę szesnastkową xxxx; na przykład \ u0009 to to samo, co \ t

10

\cX

Znak kontrolny ^ X; na przykład \ cJ jest odpowiednikiem znaku nowej linii \ n

Metaznaki

Metaznak to po prostu znak alfabetyczny poprzedzony odwrotnym ukośnikiem, który nadaje kombinacji specjalne znaczenie.

Na przykład możesz wyszukać dużą sumę pieniędzy, używając metaznaku „\ d”: /([\d]+)000/Tutaj \d wyszuka dowolny ciąg znaków numerycznych.

Poniższa tabela zawiera zestaw metaznaków, których można używać w wyrażeniach regularnych w stylu PERL.

Sr.No. Opis postaci
1

.

pojedynczy znak

2

\s

biały znak (spacja, tabulator, nowa linia)

3

\S

znak niebędący białymi znakami

4

\d

cyfra (0-9)

5

\D

niecyfrowa

6

\w

znak słowa (az, AZ, 0-9, _)

7

\W

znak niebędący słowem

8

[\b]

dosłowny znak cofania (przypadek specjalny).

9

[aeiou]

dopasowuje pojedynczy znak w podanym zestawie

10

[^aeiou]

dopasowuje pojedynczy znak poza podanym zestawem

11

(foo|bar|baz)

pasuje do dowolnej podanej alternatywy

Modyfikatory

Dostępnych jest kilka modyfikatorów, które mogą uprościć sposób pracy regexps, jak rozróżnianie wielkości liter, wyszukiwanie w wielu wierszach itp.

Sr.No. Modyfikator i opis
1

i

Wykonuj dopasowywanie bez rozróżniania wielkości liter.

2

m

Określa, że ​​jeśli ciąg ma znaki nowej linii lub powrotu karetki, operatory ^ i $ będą teraz dopasowywane do granicy nowej linii zamiast granicy ciągu

3

g

Wykonuje globalne dopasowanie, czyli wyszukuje wszystkie dopasowania zamiast przerywać po pierwszym dopasowaniu.

Właściwości RegExp

Oto lista właściwości powiązanych z RegExp i ich opis.

Sr.No. Właściwość i opis
1 constructor

Specifies the function that creates an object's prototype.

2 global

Specifies if the "g" modifier is set.

3 ignoreCase

Specifies if the "i" modifier is set.

4 lastIndex

The index at which to start the next match.

5 multiline

Specifies if the "m" modifier is set.

6 source

The text of the pattern.

In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.

RegExp Methods

Here is a list of the methods associated with RegExp along with their description.

Sr.No. Method & Description
1 exec()

Executes a search for a match in its string parameter.

2 test()

Tests for a match in its string parameter.

3 toSource()

Returns an object literal representing the specified object; you can use this value to create a new object.

4 toString()

Returns a string representing the specified object.

In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.