Ekspresi Reguler dan Objek RegExp

Ekspresi reguler adalah objek yang mendeskripsikan pola karakter.

JavaScript RegExp kelas mewakili ekspresi reguler, dan baik String dan RegExp tentukan metode yang menggunakan ekspresi reguler untuk melakukan fungsi pencocokan pola dan cari-dan-ganti pada teks.

Sintaksis

Ekspresi reguler dapat ditentukan dengan RegExp () konstruktor, sebagai berikut -

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

Berikut adalah deskripsi parameter -

  • pattern - String yang menentukan pola ekspresi reguler atau ekspresi reguler lainnya.

  • attributes - String opsional yang berisi atribut "g", "i", dan "m" yang menentukan kecocokan global, case-insensitive, dan multi-baris.

Tanda kurung

Tanda kurung ([]) memiliki arti khusus jika digunakan dalam konteks ekspresi reguler. Mereka digunakan untuk menemukan berbagai karakter.

Sr.No. Ekspresi & Deskripsi
1

[...]

Salah satu karakter di antara tanda kurung.

2

[^...]

Salah satu karakter tidak di antara tanda kurung.

3

[0-9]

Ini cocok dengan digit desimal apa pun dari 0 hingga 9.

4

[a-z]

Itu cocok dengan semua karakter dari huruf kecil a melalui huruf kecil z.

5

[A-Z]

Itu cocok dengan semua karakter dari huruf besar A melalui huruf besar Z.

6

[a-Z]

Itu cocok dengan semua karakter dari huruf kecil a melalui huruf besar Z.

Rentang yang ditunjukkan di atas bersifat umum; Anda juga dapat menggunakan rentang [0-3] untuk mencocokkan digit desimal apa pun mulai dari 0 hingga 3, atau rentang [bv] untuk mencocokkan karakter huruf kecil mulai darib melalui v.

Pengukur

Frekuensi atau posisi rangkaian karakter dalam tanda kurung dan karakter tunggal dapat dilambangkan dengan karakter khusus. Setiap karakter khusus memiliki konotasi tertentu. Tanda +, *,?, Dan $ semuanya mengikuti urutan karakter.

Sr.No. Ekspresi & Deskripsi
1

p+

Ini cocok dengan string apa pun yang berisi satu atau lebih p.

2

p*

Ini cocok dengan string apa pun yang mengandung nol atau lebih p.

3

p?

Ini cocok dengan string apapun yang mengandung paling banyak satu p.

4

p{N}

Ini cocok dengan string apa pun yang berisi urutan N p

5

p{2,3}

Ini cocok dengan string apa pun yang berisi urutan dua atau tiga p.

6

p{2, }

Ini cocok dengan string apa pun yang berisi urutan setidaknya dua p.

7

p$

Ini cocok dengan string apa pun dengan p di ujungnya.

8

^p

Ini cocok dengan string apa pun dengan p di awalnya.

Contoh

Contoh berikut menjelaskan lebih lanjut tentang mencocokkan karakter.

Sr.No. Ekspresi & Deskripsi
1

[^a-zA-Z]

Ini cocok dengan string apa pun yang tidak berisi karakter apa pun mulai dari a melalui z dan A melalui Z.

2

p.p

Itu cocok dengan string apa pun yang mengandung p, diikuti oleh karakter apa saja, kemudian diikuti oleh karakter lainnya p.

3

^.{2}$

Ini cocok dengan string apa pun yang mengandung dua karakter.

4

<b>(.*)</b>

Ini cocok dengan semua string yang diapit dalam <b> dan </b>.

5

p(hp)*

Itu cocok dengan string apa pun yang berisi p diikuti oleh nol atau lebih contoh urutan hp.

Karakter literal

Sr.No. Deskripsi karakter
1

Alphanumeric

Diri

2

\0

Karakter NUL (\ u0000)

3

\t

Tab (\ u0009

4

\n

Baris baru (\ u000A)

5

\v

Tab vertikal (\ u000B)

6

\f

Formulir umpan (\ u000C)

7

\r

Pengembalian kereta (\ u000D)

8

\xnn

Karakter Latin ditentukan oleh angka heksadesimal nn; misalnya, \ x0A sama dengan \ n

9

\uxxxx

Karakter Unicode ditentukan oleh angka heksadesimal xxxx; misalnya, \ u0009 sama dengan \ t

10

\cX

Karakter kontrol ^ X; misalnya, \ cJ sama dengan karakter baris baru \ n

Metakarakter

Metakarakter hanyalah karakter alfabet yang diawali dengan garis miring terbalik yang berfungsi untuk memberikan kombinasi arti khusus.

Misalnya, Anda dapat mencari uang dalam jumlah besar menggunakan karakter meta '\ d': /([\d]+)000/, Sini \d akan mencari string karakter numerik apa pun.

Tabel berikut mencantumkan sekumpulan karakter meta yang dapat digunakan dalam PERL Style Regular Expressions.

Sr.No. Deskripsi karakter
1

.

satu karakter

2

\s

karakter spasi (spasi, tab, baris baru)

3

\S

karakter non-spasi

4

\d

satu digit (0-9)

5

\D

bukan digit

6

\w

karakter kata (az, AZ, 0-9, _)

7

\W

karakter non-kata

8

[\b]

spasi mundur literal (kasus khusus).

9

[aeiou]

cocok dengan satu karakter dalam set yang diberikan

10

[^aeiou]

cocok dengan satu karakter di luar set yang diberikan

11

(foo|bar|baz)

cocok dengan salah satu alternatif yang ditentukan

Pengubah

Beberapa pengubah tersedia yang dapat menyederhanakan cara Anda bekerja regexps, seperti sensitivitas huruf, menelusuri dalam beberapa baris, dll.

Sr.No. Pengubah & Deskripsi
1

i

Lakukan pencocokan tidak peka huruf besar / kecil.

2

m

Menentukan bahwa jika string memiliki karakter baris baru atau karakter balik, operator ^ dan $ sekarang akan cocok dengan batas baris baru, bukan batas string

3

g

Melakukan pertandingan global yaitu, temukan semua pertandingan daripada berhenti setelah pertandingan pertama.

Properti RegExp

Berikut adalah daftar properti yang terkait dengan RegExp dan deskripsinya.

Sr.No. Deskripsi properti
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.