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.