1. Metode konstruktor
var reg = new RegExp ( 'd' , 'gi' ) ;
2. Metode harafiah
var reg = / d / gi ;
Ada tiga jenis pengubah: i, g, m
dapat muncul secara bersamaan, tanpa urutan (yaitu gi
sama dengan ig
), silakan lihat petunjuk di bawah ini
pengubah | menjelaskan |
---|---|
Saya | Abaikan pencocokan huruf besar-kecil |
G | Pencocokan global, yaitu mencocokkan satu pertandingan dan kemudian melanjutkan pencocokan hingga akhir |
M | Pencocokan multi-baris, yaitu pencocokan tidak berhenti setelah menemukan baris baru hingga akhir |
simbol | memengaruhi |
---|---|
Sebagai perubahan arti, yaitu karakter setelah "" biasanya tidak diartikan sesuai dengan arti aslinya. Misalnya, /b/ cocok dengan karakter "b". /, arti perubahannya adalah mencocokkan suatu kata. Atau pemulihan karakter fungsi ekspresi reguler, seperti " " cocok dengan metakarakter sebelum 0 kali atau lebih, /a / akan cocok dengan a, aa, aaa. Setelah menambahkan "", /a*/ hanya akan cocok dengan "a *" | |
^ | Cocok dengan input atau awal baris, /^a/ cocok dengan "an A", namun tidak cocok dengan "An a" |
$ | Cocok dengan input atau akhir baris, /a$/ cocok dengan "An a", namun tidak cocok dengan "an A" |
. | Cocok dengan karakter apa pun, kecuali baris baru dan terminator |
* | Cocok dengan metakarakter sebelumnya 0 kali atau lebih, /ba*/ akan cocok dengan b,ba,baa,baaa |
+ | Cocok dengan metakarakter sebelumnya sebanyak 1 kali atau lebih, /ba+/ akan cocok dengan ba, baa, baaa |
? | Cocok dengan metakarakter sebelumnya 0 atau 1 kali, /ba?/ akan cocok dengan b,ba |
(X) | Cocokkan x dan simpan x dalam variabel bernama $1...$9 |
X | kamu |
{N} | Cocok persis n kali |
{N,} | Cocokkan n kali atau lebih |
{n,m} | Cocokkan nm kali |
[xyz] | Kumpulan karakter (character set), cocok dengan karakter (atau metakarakter) mana pun dalam kumpulan ini |
[^xyz] | tidak cocok dengan karakter mana pun di set ini |
[az] | Huruf apa pun [] dapat mewakili siapa saja |
[^az] | ^ dalam non-huruf [] mewakili kecuali |
[B] | Cocok dengan karakter spasi mundur |
B | Cocokkan batas kata |
B | Cocokkan kata yang bukan batasnya |
cX | Di sini, X adalah karakter kontrol, /cM/ cocok dengan Ctrl-M |
D | Cocok dengan karakter alfanumerik, /d/ = /[0-9]/ |
D | Cocok dengan karakter non-alfanumerik, /D/ = /[^0-9]/ |
N | Cocok dengan karakter baris baru |
R | Cocok dengan pengembalian kereta |
F | Cocokkan umpan formulir |
S | Cocok dengan karakter spasi, termasuk n, r, f, t, v, dll. |
S | Cocok dengan karakter bukan spasi, sama dengan /[^nfrtv]/ |
T | cocok dengan karakter tab |
v | Cocok dengan karakter tab ganda |
w | Cocok dengan karakter yang dapat membentuk sebuah kata (alfanumerik, ini terjemahan gratis saya, termasuk angka), termasuk garis bawah, seperti [w] mencocokkan angka 5 di "$5,98", yang sama dengan [a-zA-Z0-9 ] |
W | Cocok dengan karakter yang tidak dapat membentuk kata, seperti [W] mencocokkan $ di "$5.98", yang sama dengan [^a-zA-Z0-9] |
Cocok dengan karakter NUL |
Pernyataan lebar nol digunakan untuk menemukan sesuatu sebelum atau sesudah konten tertentu (tetapi tidak termasuk konten ini), yaitu digunakan seperti b,^,$
untuk menentukan posisi yang harus memenuhi kondisi tertentu ( yaitu pernyataan), jadi pernyataan tersebut juga disebut pernyataan lebar nol
Penegasan sebelumnya | Disebut juga pernyataan lookahead positif lebar-nol (?=表达式) yang berarti mencocokkan posisi sebelum ekspresi | Misalnya, [az]*(?=ing) dapat mencocokkan juru masak dan nyanyian dalam nyanyian memasak. |
Catatan: Langkah-langkah eksekusi pernyataan lookahead adalah sebagai berikut: pertama-tama temukan ing pertama dari ujung paling kanan string yang akan dicocokkan (yaitu, ekspresi dalam pernyataan lookahead) dan kemudian cocokkan dengan ekspresi sebelumnya cocok, lanjutkan Temukan ing kedua lalu cocokkan string sebelum ing kedua. Jika cocok, maka cocokkan
Penegasan posterior | Disebut juga pernyataan pasca-lihat balik lebar nol (?<=表达式) yang menunjukkan posisi setelah ekspresi yang cocok. | Misalnya (?<=abc).* dapat mencocokkan defg di abcdefg |
Catatan: Pernyataan akhir adalah kebalikan dari pernyataan melihat ke depan. Langkah-langkah pelaksanaannya adalah sebagai berikut: pertama-tama carilah abc pertama (yaitu, ekspresi dalam pernyataan melihat ke depan) dari ujung paling kiri dari string yang akan dijadikan. cocok, lalu cocokkan Ekspresi berikut, jika tidak bisa cocok, lanjutkan mencari abc kedua lalu cocokkan string setelah abc kedua. Jika bisa (?<=abc).*
, maka akan cocok (?<=abc).*
dapat mencocokkan defgabc di abcdefgabc, bukan abcdefg
Pernyataan lebar nol negatif | (?!表达式) juga cocok dengan posisi lebar nol, tetapi "pernyataan" pada posisi ini mengambil nilai kebalikan dari ekspresi. Misalnya, (?!表达式) mewakili posisi sebelum ekspresi , cocok dengan posisi ini; Jika ekspresi benar, maka tidak cocok: Demikian pula, ada dua jenis pernyataan lebar nol negatif: "pertama" dan "terakhir (?<!表达式) . (?<!表达式) |
(?<!表达式)
(?!表达式)
Gunakan tanda kurung untuk menggabungkan string yang cocok, lalu gunakan ekspresi $1 dalam nilai pengganti untuk mendapatkan nilai yang cocok saat ini. Ini bisa lebih rumit. Misalnya, jika ada beberapa tanda kurung, Anda bisa menggunakan $1, $2, $3 untuk mendapatkannya nilai yang sesuai. Setelah semua penggantian, inilah data yang akhirnya kita inginkan.
Misalnya, berikut ini adalah ekspresi reguler di kotak pencarian, yang dapat mencocokkan semua atribut class
dalam struktur HTML
className = "([^0-9]+)"
Lalu kita bisa menggantinya
className = { { $1 } }
Maka itu akan terjadi
className = "xxx" //转化为
className = { { xxx } }
1. Metode yang berhubungan dengan objek RegExp
nama metode | Skenario penggunaan | nilai kembalian | Contoh |
---|---|---|---|
tes | Tentukan apakah cocok | benar atau salah | /d/.test('eno yao 2019') |
tes | Mengembalikan hasil yang cocok, serupa dengan kecocokan | larik atau nol | /d/.exec('eno yao 2019') |
2. Metode terkait objek string
nama metode | Skenario penggunaan | nilai kembalian | Contoh |
---|---|---|---|
cocok | Mengembalikan hasil yang cocok. Dalam kondisi non-global, ini konsisten dengan hasil yang dikembalikan oleh exec dan memiliki informasi yang mengarah ke string yang cocok. Dalam kondisi global, semua hasil yang cocok dikembalikan sekaligus. | larik atau nol | 'eno yao 2019'.pertandingan(/d/) |
mengganti | Ganti string dengan string lain atau ganti string biasa yang cocok dengan substring lain | larik atau nol | 'eno yao 2019'.ganti(/d/, '2019') |
mencari | Temukan posisi substring pertama yang cocok dan kembalikan nilai indeks, jika tidak, kembalikan -1 | indeks | 'eno yao 2019'.penelusuran(/d/, '2019') |
membelah | Pisahkan array sesuai dengan string atau string yang disepakati, terima string atau reguler | indeks | 'eno yao 2019'.penelusuran(/d/, '2019') |