Konsep Dasar
Ekspresi reguler adalah pola teks yang mencakup karakter normal (misalnya, huruf antara A ke Z) dan karakter khusus (disebut "MetaChars"). Pola ini menjelaskan satu atau lebih string yang cocok saat mencari teks.
Pertama, beberapa editor ekspresi reguler direkomendasikan
Debuggex: https://www.debuggex.com/
PyRegex: http://www.pyregex.com/
Regexper: http://www.regexper.com/
Ekspresi reguler adalah operasi pencarian dan penggantian string. Ekspresi reguler banyak digunakan dalam editor teks, seperti ekspresi reguler digunakan untuk:
[Salin] Periksa apakah teks berisi kata karakteristik yang ditentukan
Cari tahu di mana kata -kata karakteristik yang cocok terletak di teks
Mengekstrak informasi dari teks, seperti: substring string
Ubah teks
Catatan: Ekspresi reguler biasanya digunakan untuk dua tugas: 1. Verifikasi, 2. Cari/ganti. Ketika digunakan untuk verifikasi, biasanya perlu untuk menambahkan ^ dan $ sebelum dan sesudah untuk mencocokkan seluruh string yang akan diverifikasi; Apakah akan menambahkan batasan ini saat mencari/penggantian tergantung pada persyaratan pencarian. Selain itu, juga dimungkinkan untuk menambahkan /b bukannya ^ dan $ sebelum dan sesudah. Kecuali beberapa, tidak ada batasan yang ditambahkan sebelum dan sesudah ekspresi reguler umum yang tercantum dalam tabel ini. Harap tangani mereka sendiri sesuai kebutuhan.
Urutan prioritas
Setelah membangun ekspresi reguler, Anda dapat mengevaluasi seperti ekspresi matematika, yaitu, Anda dapat mengevaluasi dari kiri ke kanan dan dalam urutan prioritas. Tabel berikut mencantumkan urutan prioritas berbagai operator ekspresi reguler dari prioritas tertinggi ke prioritas terendah:
| Operator | menggambarkan |
|---|---|
| / | Simbol melarikan diri |
| (), (? :), (? =), [] | Kawat gigi dan kurung persegi |
| *, +,?, {n}, {n,}, {n, m} | Kualifikasi |
| ^, $, /anymetacharacter | Posisi dan ketertiban |
Buat ekspresi reguler
Metode membangun ekspresi reguler sama dengan metode menciptakan ekspresi matematika. Artinya, gunakan beberapa metakara dan operator untuk menggabungkan ekspresi kecil untuk membuat ekspresi yang lebih besar.
Ekspresi reguler dapat dibangun dengan menempatkan berbagai komponen dari pola ekspresi antara sepasang pemisah.
Untuk JScript, pembatas adalah sepasang karakter slash (/) ke depan. Misalnya:
/ekspresi/
Untuk VBScript, sepasang kutipan ("") digunakan untuk menentukan batas ekspresi reguler. Misalnya:
Salinan kode adalah sebagai berikut:
"ekspresi"
Lihat contoh
Salinan kode adalah sebagai berikut:
// Cocokkan apakah akun itu legal (dimulai dengan surat, 5-16 byte diizinkan, garis bawah alfanumerik diizinkan
var re = regexp baru ("^[a-za-z] [a-za-z0-9 _] {5,19} $");
if (re.test (aaaa)) {
peringatan ("format yang benar");
}kalau tidak{
peringatan ("kesalahan format");
}
Komponen ekspresi reguler dapat berupa satu karakter, satu set karakter, berbagai karakter, pilihan antara karakter, atau kombinasi semua komponen ini.
Ekspresi reguler yang biasa digunakan
Ekspresi reguler yang mencocokkan karakter Cina: [/u4e00-/u9fa5]
Komentar: Pencocokan bahasa Cina benar -benar sakit kepala, mudah dilakukan dengan ekspresi ini
Cocokkan karakter byte ganda (termasuk karakter Cina): [^/x00-/xff]
Komentar: Dapat digunakan untuk menghitung panjang string (meter panjang karakter dua-byte 2, Ascii Character Meter 1)
Ekspresi reguler yang mencocokkan garis kosong:/n/s*/r
Komentar: Dapat digunakan untuk menghapus baris kosong
Tag HTML yang cocok dengan ekspresi reguler: <(/s*?) [^>]*>.*? <// 1> | <.*? />
Komentar: Versi yang beredar online terlalu buruk, dan yang di atas hanya dapat mencocokkan bagian, dan masih tidak berdaya untuk menggunakan penanda bersarang yang kompleks.
Ekspresi reguler yang mencocokkan karakter whitespace awal dan akhir: ^/s*|/s*$
Komentar: Ini dapat digunakan untuk menghapus karakter whitespace di awal dan akhir baris (termasuk spasi, tab, istirahat halaman, dll.), Ekspresi yang sangat berguna
Ekspresi reguler yang mencocokkan alamat email: /w+(uarkan-+.
Komentar: Sangat praktis saat memverifikasi formulir
URL pencocokan ekspresi reguler: [a-za-z]+: // [^/s]*
Komentar: Fungsi versi yang beredar online sangat terbatas, dan di atas pada dasarnya dapat memenuhi kebutuhan
Cocokkan apakah akun tersebut legal (dimulai dengan surat, 5-16 byte diizinkan, alfanumerik yang diizinkan diizinkan): ^[a-za-z] [a-za-z0-9 _] {4,15} $ $
Komentar: Sangat praktis saat memverifikasi formulir
Cocokkan nomor telepon domestik:/d {3}-/d {8} |/d {4}-/d {7}
Komentar: Formulir pencocokan adalah sebagai berikut: 0511-4405222 atau 021-87888822
Cocokkan nomor qq tencent: [1-9] [0-9] {4,}
Komentar: Nomor Tencent QQ mulai dari 10.000
Cocokkan Kode Pos Cina: [1-9]/D {5} (?!/D)
Komentar: Kode pos Cina adalah 6 digit
Cocokkan kartu ID: /d {15} | /d {18}
Komentar: Kartu ID China adalah 15 atau 18 digit
Cocokkan alamat IP: /d+/./d+/./d+/./d+
Komentar: Ini berguna saat mengekstraksi alamat IP
Cocokkan nomor spesifik
[salin] ^[1-9]/d*$ // Cocokkan bilangan bulat positif
^-[1-9]/d*$ // Cocokkan bilangan bulat negatif
^-? [1-9]/d*$ // Cocokkan bilangan bulat
^[1-9]/d*| 0 $ // Cocokkan bilangan bulat non-negatif (bilangan bulat positif + 0)
^-[1-9]/d*| 0 $ // Cocokkan bilangan bulat non-positif (bilangan bulat negatif + 0)
^[1-9]/d*/./D*| 0 /./ d*[1-9]/d*$ // Cocokkan nomor floating point positif
^-([1-9]/d*/./D*| 0 /./ d*[1-9]/d*) $ // Cocokkan angka floating point negatif
^-? ([1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0) $ // Cocokkan nomor titik mengambang
^[1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0 $ // Cocokkan nomor poin floating non-negatif (angka floating point positif + 0)
^(-)
Komentar: Ini berguna saat memproses data dalam jumlah besar, dan berhati -hatilah untuk memperbaikinya saat menerapkannya secara rinci.
Cocokkan string tertentu
[salin]^[a-za-z]+$ // Cocokkan string yang terdiri dari 26 huruf bahasa Inggris
^[Az]+$ // Cocokkan string yang terdiri dari 26 kapitalisasi huruf bahasa Inggris
^[az]+$ // Cocokkan string yang terdiri dari 26 huruf bahasa Inggris huruf kecil
^[A-za-z0-9]+$ // Cocokkan string yang terdiri dari angka dan 26 huruf bahasa Inggris
^/W+$ // Cocokkan string yang terdiri dari angka, 26 huruf bahasa Inggris atau garis bawah
Komentar: beberapa ekspresi paling mendasar dan paling umum digunakan
Peta pikiran