Tabel Cepat Sintaks Ekspresi Reguler

Ekspresi Reguler, juga dikenal sebagai Pola Reguler, adalah pola teks yang biasanya digunakan untuk mengambil, mengganti, dan mengontrol teks. Utama terdiri dari huruf dari a ke z dan beberapa karakter khusus. Aplikasi ekspresi reguler sangat luas, awalnya dipopulerkan oleh Unix, dan kemudian banyak digunakan dalam Scala, PHP, C#, Java, C++, Objective-c, Perl, Swift, VBScript, Javascript, Ruby, dan Python, dll. Mempelajari ekspresi reguler sebenarnya adalah belajar cara berpikir logis yang sangat fleksibel, untuk mencapai kontrol terhadap string dengan cara yang cepat dan sederhana.
Karakter Reguler Deskripsi
\ Menandai karakter berikutnya sebagai karakter khusus, atau karakter literal, atau referensi balik, atau karakter escape octal. Contoh, “n" mencocokkan karakter "n". "\n" mencocokkan satu karakter baru. Rangkaian "\\" mencocokkan "\" sedangkan "\(" mencocokkan "(".
^ Mencocokkan posisi awal string input. Jika atribut Multiline objek RegExp diatur, ^ juga mencocokkan posisi setelah “\n" atau "\r".
$ Mencocokkan posisi akhir string input. Jika atribut Multiline objek RegExp diatur, $ juga mencocokkan posisi sebelum “\n" atau "\r".
* Mencocokkan sub-ekspresi sebelumnya nol atau lebih kali. Misalnya, zo* dapat mencocokkan “z" dan "zoo". * setara dengan {0,}.
+ Mencocokkan sub-ekspresi sebelumnya satu atau lebih kali. Misalnya, “zo+" dapat mencocokkan "zo" dan "zoo", tetapi tidak dapat mencocokkan "z". + setara dengan {1,}.
? Mencocokkan sub-ekspresi sebelumnya nol atau satu kali. Misalnya, “do(es)?" dapat mencocokkan "does" atau "do" dalam "does". ? setara dengan {0,1}.
{n} n adalah integer non-negatif. Mencocokkan n kali tertentu. Misalnya, “o{2}" tidak dapat mencocokkan "o" dalam "Bob", tetapi dapat mencocokkan dua o dalam "food".
{n,} n adalah integer non-negatif. Mencocokkan setidaknya n kali. Misalnya, “o{2,}" tidak dapat mencocokkan "o" dalam "Bob", tetapi dapat mencocokkan semua o dalam "foooood". "o{1,}" setara dengan "o+". "o{0,}" setara dengan "o*".
{n,m} m dan n keduanya adalah integer non-negatif, dimana n<=m. Mencocokkan setidaknya n kali dan paling banyak m kali. Misalnya, “o{1,3}" akan mencocokkan tiga o pertama dalam "fooooood". "o{0,1}" setara dengan "o?". Harap perhatikan bahwa tidak boleh ada spasi di antara koma dan dua angka.
? Ketika karakter ini mengikuti setiap pengatur lainnya (*, +, ?, {n}, {n,}, {n,m}), pola yang dicocokkan bersifat non-greedy. Pola non-greedy mencocokkan sebanyak mungkin sedikit karakter dari string yang dicari, sementara pola greedy secara default mencocokkan sebanyak mungkin karakter. Misalnya, untuk string “oooo", "o+?" akan mencocokkan satu "o", sedangkan "o+" akan mencocokkan semua "o".
. Mencocokkan karakter tunggal mana pun kecuali “\n". Untuk mencocokkan karakter mana pun termasuk "\n", gunakan pola seperti "(.|\n)".
(pattern) Mencocokkan pola dan mendapatkan kecocokan ini. Kecocokan yang diperoleh dapat diambil dari kumpulan Matches yang dihasilkan, dalam VBScript menggunakan kumpulan SubMatches, sementara dalam JScript, menggunakan atribut $0…$9. Untuk mencocokkan karakter tanda kurung, gunakan “\(" atau "\)".
(?:pattern) Mencocokkan pola tetapi tidak mendapatkan hasil pencocokan, yaitu ini adalah pencocokan non-perolehan, tidak disimpan untuk digunakan nanti. Ini sangat berguna ketika menggunakan karakter atau “(|)" untuk menggabungkan bagian berbagai pola. Misalnya "industr(?:y|ies)" adalah ekspresi yang lebih ringkas dibandingkan "industry|industries".
(?=pattern) Positive Lookahead, mencocokkan string pencarian di awal string yang cocok dengan pola. Ini adalah pencocokan non-perolehan, artinya pencocokan ini tidak perlu diambil untuk digunakan nanti. Misalnya, “Windows(?=95|98|NT|2000)" dapat mencocokkan "Windows" dalam "Windows2000", tetapi tidak dapat mencocokkan "Windows" dalam "Windows3.1". Lookahead tidak mengkonsumsi karakter, artinya setelah pencocokan terjadi, pencarian pencocokan berikutnya dimulai segera setelah pencocokan terakhir, bukan dari karakter setelah yang mengandung lookahead.
(?!pattern) Negative Lookahead, mencocokkan string pencarian di awal string yang tidak cocok dengan pola. Ini adalah pencocokan non-perolehan, artinya pencocokan ini tidak perlu diambil untuk digunakan nanti. Misalnya “Windows(?!95|98|NT|2000)" dapat mencocokkan "Windows" dalam "Windows3.1", tetapi tidak dapat mencocokkan "Windows" dalam "Windows2000". Lookahead tidak mengkonsumsi karakter, artinya setelah pencocokan terjadi, pencarian pencocokan berikutnya dimulai segera setelah pencocokan terakhir, bukan dari karakter setelah yang mengandung lookahead.
(?<=pattern) Positive Lookbehind, mirip dengan Positive Lookahead tetapi arahnya terbalik. Misalnya, “(?<=95|98|NT|2000)Windows" dapat mencocokkan "Windows" dalam "2000Windows", tetapi tidak dapat mencocokkan "Windows" dalam "3.1Windows".
(?<!pattern) Negative Lookbehind, mirip dengan Negative Lookahead tetapi arahnya terbalik. Misalnya “(?<!95|98|NT|2000)Windows" dapat mencocokkan "Windows" dalam "3.1Windows", tetapi tidak dapat mencocokkan "Windows" dalam "2000Windows".
x|y Mencocokkan x atau y. Misalnya, “z|food" dapat mencocokkan "z" atau "food". "(z|f)ood" akan mencocokkan "zood" atau "food".
[xyz] Kumpulan karakter. Mencocokkan salah satu karakter yang terkandung. Misalnya, “[abc]" dapat mencocokkan "a" dalam "plain".
[^xyz] Kumpulan karakter negatif. Mencocokkan karakter yang tidak terkandung. Misalnya, “[^abc]" dapat mencocokkan "p" dalam "plain".
[a-z] Rentang karakter. Mencocokkan karakter apa pun dalam rentang yang ditentukan. Misalnya, “[a-z]" dapat mencocokkan huruf kecil apa pun dari "a" hingga "z".
[^a-z] Kumpulan karakter negatif. Mencocokkan karakter apa pun yang tidak dalam rentang yang ditentukan. Misalnya, “[^a-z]" dapat mencocokkan karakter apa pun yang tidak dalam "a" hingga "z".
\b Mencocokkan batas kata, yaitu posisi antara suatu kata dan spasi. Misalnya, “er\b" dapat mencocokkan "er" dalam "never", tetapi tidak dapat mencocokkan "er" dalam "verb".
\B Mencocokkan bukan batas kata. “er\B" dapat mencocokkan "er" dalam "verb", tetapi tidak dapat mencocokkan "er" dalam "never".
\cx Mencocokkan karakter kontrol yang ditunjukkan oleh x. Misalnya, \cM mencocokkan satu Control-M atau karakter kembali. Nilai x harus salah satu dari A-Z atau a-z. Jika tidak, c diperlakukan sebagai karakter literal “c".
\d Mencocokkan karakter digit. Setara dengan [0-9].
\D Mencocokkan karakter non-digit. Setara dengan [^0-9].
\f Mencocokkan satu karakter halaman baru. Setara dengan \x0c dan \cL.
\n Mencocokkan satu karakter baru. Setara dengan \x0a dan \cJ.
\r Mencocokkan satu karakter kembali. Setara dengan \x0d dan \cM.
\s Mencocokkan setiap karakter kosong, termasuk spasi, tab, karakter halaman baru, dll. Setara dengan [ \f\n\r\t\v].
\S Mencocokkan setiap karakter non-kosong. Setara dengan [^ \f\n\r\t\v].
\t Mencocokkan satu karakter tab. Setara dengan \x09 dan \cI.
\v Mencocokkan satu karakter tab vertikal. Setara dengan \x0b dan \cK.
\w Mencocokkan setiap karakter kata termasuk garis bawah. Setara dengan “[A-Za-z0-9_]".
\W Mencocokkan setiap karakter non-kata. Setara dengan “[^A-Za-z0-9_]".
\xn Mencocokkan n, dimana n adalah nilai escape heksadesimal. Nilai escape heksadesimal harus terdiri dari dua angka yang ditentukan. Misalnya, “\x41" mencocokkan "A". "\x041" setara dengan "\x04&1". Dalam ekspresi reguler dapat menggunakan pengkodean ASCII.
\num Mencocokkan num, di mana num adalah bilangan bulat positif. Untuk referensi kecocokan yang diperoleh. Misalnya, “(.)\1" mencocokkan dua karakter yang sama secara berurutan.
\n Menandakan nilai escape oktal atau referensi balik. Jika \n memiliki setidaknya n ekspresi sub yang diperoleh sebelumnya, maka n adalah referensi balik. Jika n adalah angka oktal (0-7), maka n adalah nilai escape oktal.
\nm Menandakan nilai escape oktal atau referensi balik. Jika \nm memiliki setidaknya nm ekspresi sub yang diperoleh sebelumnya, maka nm adalah referensi balik. Jika \nm memiliki setidaknya n sub yang diperoleh sebelumnya, maka m adalah referensi balik yang menyusul karakter literal. Jika tidak ada kondisi sebelumnya yang terpenuhi dan jika n dan m keduanya adalah digit oktal (0-7), maka \nm akan mencocokkan nilai escape oktal nm.
\nml Jika n adalah digit oktal (0-3) dan m dan l keduanya adalah digit oktal (0-7), maka mencocokkan nilai escape oktal nml.
\un Mencocokkan n, di mana n adalah karakter Unicode yang diwakili oleh empat digit heksadesimal. Misalnya, \u00A9 mencocokkan simbol hak cipta (©).
Ekspresi Reguler Umum
Nama Pengguna /^[a-z0-9_-]{3,16}$/
Kata Sandi /^[a-z0-9_-]{6,18}$/
Kata Sandi 2 (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$ (terdiri dari angka/huruf besar/huruf kecil/simbol, semuanya wajib ada, minimal 8 karakter)
Nilai Heksadesimal /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
Email /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ atau \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ atau [a-zA-z]+://[^\s]*
Alamat IP /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ atau ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
Tag HTML /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ atau <(.*)(.*)>.*<\/\1>|<(.*) \/>
Hapus Kode\\Komentar (?<!http:|\S)//.*$
Mencocokkan Karakter Dwi-byte (termasuk karakter Tionghoa) [^\x00-\xff]
Karakter Tionghoa (karakter) [\u4e00-\u9fa5]
Rentang Karakter Tionghoa dalam Kode Unicode /^[\u2E80-\u9FFF]+$/
Karakter Tionghoa dan Tanda Baca Penuh (karakter) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
Tanggal (Tahun-Bulan-Hari) (\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))
Tanggal (Bulan/Hari/Tahun) ((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(\d{4}|\d{2})
Waktu (Jam:Menit, format 24 jam) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
Nomor Telepon Tetap Tiongkok (\d{4}-|\d{3}-)?(\d{8}|\d{7})
Nomor Ponsel Tiongkok 1\d{10}
Kode Pos Tiongkok [1-9]\d{5}
Nomor KTP Tiongkok (15 digit atau 18 digit) \d{15}(\d\d[0-9xX])?
Bilangan Bulat Non-negatif (Bilangan Positif atau Nol) \d+
Bilangan Positif [0-9]*[1-9][0-9]*
Bilangan Negatif -[0-9]*[1-9][0-9]*
Bilangan Bulat -?\d+
Desimal (-?\d+)(\.\d+)?
Baris Kosong \n\s*\r atau \n\n(editplus) atau ^[\s\S ]*\n
Nomor QQ [1-9]\d{4,}
Kata yang tidak berisi abc \b((?!abc)\w)+\b
Mencocokkan Karakter Kosong di Awal dan Akhir ^\s*|\s*$
Pengeditan Umum
Berikut adalah beberapa pengganti untuk karakter khusus dalam bahasa Tionghoa (editplus)
^[0-9].*\n
^[^第].*\n
^[习题].*\n
^[\s\S ]*\n
^[0-9]*\.
^[\s\S ]*\n
<p[^<>*]>
href="javascript:if\(confirm\('(.*?)'\)\)window\.location='(.*?)'"
<span style=".[^"]*rgb\(255,255,255\)">.[^<>]*</span>
<DIV class=xs0>[\s\S]*?</DIV>

Panduan Cepat Sintaks Ekspresi Reguler - Teknik dan Sintaks Ekspresi Reguler Umum

Ekspresi Reguler adalah alat pemrosesan teks yang kuat, halaman ini menyediakan Panduan Cepat Sintaks Ekspresi Reguler untuk membantu Anda memahami dengan cepat sintaks dasar ekspresi reguler, modifier, sub-ekspresi, mode greedy dan non-greedy, dll.

Sintaks Dasar Ekspresi Reguler

Ekspresi Reguler digunakan untuk mendeskripsikan aturan pola string, sintaks dasar yang umum termasuk:

Modifier Ekspresi Reguler Umum

Modifier ekspresi reguler digunakan untuk mengubah aturan pencocokan ekspresi reguler, modifier umum termasuk:

Mode Greedy dan Non-Greedy

Dalam ekspresi reguler, kuantor secara default bersifat greedy, yang akan mencocokkan sebanyak mungkin karakter. Mode non-greedy digunakan dengan menambahkan ? setelah kuantor, contoh di bawah:

Sub-ekspresi dan Kelompok

Sub-ekspresi dalam ekspresi reguler ditentukan dengan tanda kurung (( )), umum digunakan untuk mengekstrak bagian yang cocok. Pengelompokan dicapai melalui simbol "|". Misalnya:

Pencarian Cepat Ekspresi Reguler

Berikut adalah pencarian cepat untuk ekspresi reguler umum:

Fungsi Ekspresi Reguler
Mencocokkan Digit \d
Mencocokkan Non-Digit \D
Mencocokkan Huruf [a-zA-Z]
Mencocokkan Karakter Apa Pun .
Mencocokkan Karakter Kosong \s

Penggunaan Ekspresi Reguler

Ekspresi Reguler banyak digunakan dalam skenario berikut:

Tips untuk Mempelajari Ekspresi Reguler

Segera gunakan Panduan Cepat Sintaks Ekspresi Reguler kami, untuk membantu Anda lebih efisien saat menyusun ekspresi reguler dan meningkatkan kemampuan pemrosesan teks Anda!

Jejak Anda:
Pilih Bahasa