g singkatan dari pertandingan global
m berarti beberapa baris dapat dicocokkan
i singkatan dari pencocokan case-sensitive
^ cocok dengan awal string input
$ cocok dengan akhir string input
* Cocok dengan subekspresi sebelumnya sebanyak nol kali atau lebih.
+ Cocok dengan subekspresi sebelumnya satu kali atau lebih.
? Cocok dengan subekspresi sebelumnya nol atau satu kali. Setara dengan [0,1} ketika karakter ini diikuti oleh kualifikasi lainnya (*, +, ?, {n}, {n,}, {n, m}), yang cocok polanya tidak serakah. Mode non-serakah mencocokkan sesedikit mungkin string yang dicari, sedangkan mode serakah default mencocokkan sebanyak mungkin string yang dicari. Misalnya, untuk string "oooo", 'o+?' akan cocok dengan satu "o", sedangkan 'o+' akan cocok dengan semua 'o'.
d cocok dengan karakter numerik.
D cocok dengan karakter non-numerik.
w , setara dengan "[A-Za-z0-9_]"
W cocok dengan karakter non-kata apa pun, setara dengan "[^A-Za-z0-9]"
s cocok dengan karakter spasi apa pun, termasuk spasi, tab, umpan formulir, dll. Setara dengan [fnrtv]
S cocok dengan karakter non-spasi apa pun. Setara dengan [^frntv]
b cocok dengan batas kata, yaitu posisi antara kata dan spasi.
B cocok dengan batasan non-kata.
(pola) mencocokkan pola dan mendapatkan kecocokan. Kecocokan yang diperoleh dapat diperoleh dari koleksi Matches yang dihasilkan, menggunakan koleksi SubMatches di VBScript atau properti $0…$9 di JScript.
(?:pattern) cocok dengan pola tetapi tidak mendapatkan hasil yang cocok, artinya ini adalah kecocokan non-akuisisi dan tidak disimpan untuk digunakan nanti. Ini berguna ketika menggunakan karakter "atau" (|) untuk menggabungkan bagian-bagian suatu pola. Misalnya, 'industri(?:y|ies) adalah ekspresi yang lebih pendek daripada 'industri|industri'.
(?=pattern) pencarian maju, cocok dengan string pencarian di awal pola pencocokan string apa pun. Ini adalah pencocokan non-pengambilan, yaitu pencocokan tidak perlu diambil untuk digunakan nanti. Misalnya, 'Windows (?=95|98|NT|2000)' cocok dengan "Windows" di "Windows 2000" namun tidak cocok dengan "Windows" di "Windows 3.1". Pengambilan awal tidak menggunakan karakter, artinya setelah kecocokan terjadi, pencarian kecocokan berikutnya dimulai segera setelah kecocokan terakhir, bukan dimulai setelah karakter yang berisi prefetch.
(?!pola) Lookahead negatif cocok dengan string pencarian di awal string apa pun yang tidak cocok dengan pola. Lookahead negatif cocok dengan string pencarian di titik mana pun ketika string tidak cocok dengan pola. Ini adalah pencocokan non-pengambilan, yaitu pencocokan tidak perlu diambil untuk digunakan nanti. Misalnya, 'Windows (?!95|98|NT|2000)' dapat cocok dengan "Windows" di "Windows 3.1", tetapi tidak cocok dengan "Windows" di "Windows 2000". Pra-pemeriksaan tidak menggunakan karakter, artinya, setelah terjadi kecocokan, pencarian pencocokan berikutnya dimulai segera setelah pertandingan terakhir, alih-alih mulai
mencocokkan 2-4
kode program
karakter Cina setelah karakter yang berisi pra-pemeriksaan.
/^[u4e00-u9fa5]{2,4}$/g;
Mencocokkan 6 hingga 18 (huruf, angka, garis bawah)
kode program
karakter
/^w{6,18}$/;
kode program
/^[A-Za-z0-9_]$/;
Cocokkan
kode program
tag HTML
/<[^>]*>|</[^>]*>/gm;
kode program
/</?[^>]+>/gm;
kode program
spasi kiri dan kanan
/(^s*)|(s*$)/g;
Urutan prioritas (dari tinggi ke rendah)
karakter melarikan diri
(),(?:),(?=),[] tanda kurung bulat dan tanda kurung siku
* , + , ? , {n} , {n,} , {n,m} kualifikasi
^ , [uap:isi]nbsp;
|. Operasi "atau"
kode program
kata identik berturut-turut
yang dipisahkan oleh spasi
/b([az]+) 1b/gim ;
Dalam contoh ini, subekspresi adalah setiap suku di antara tanda kurung.
Ekspresi yang diambil terdiri dari satu atau lebih karakter alfabet, seperti yang ditentukan oleh '[az]+'.
Bagian kedua dari ekspresi reguler adalah referensi ke submatch yang diambil sebelumnya, yang merupakan kemunculan kedua dari kata yang cocok dengan ekspresi yang ditambahkan.
'1' digunakan untuk menentukan subpertandingan pertama. Metakarakter batas kata memastikan bahwa hanya kata individual yang terdeteksi.
Jika hal ini tidak dilakukan, frasa seperti "dikeluarkan" atau "ini adalah" akan salah dikenali sebagai ungkapan.
kode program
var ss = "Apakah harga bensin naik?. Apakah harga bensin naik?.";
var re = /b([az]+) 1b/gim;
var rv = ss.replace(re,"$1");
document.write(rv) //Output "Apakah harga bensin naik?. Apakah harga bensin naik?."
kode program
/bCha/
cocok dengan tiga karakter pertama kata 'Bab' karena muncul setelah batas kata
kode program
/terb/
cocok dengan 'ter' pada kata 'Bab' karena muncul sebelum batas kata
kode program
/Bapt/
cocok dengan 'apt' karena berada di tengah-tengah 'Bab', namun tidak cocok dengan 'apt' di 'aptitude' karena terletak setelah batas kata
*/
kode program
alamat URL
/(w+)://([^/:]+)(:d*)?([^#]*)/
Dekomposisi URI berikut menjadi protokol (ftp, http, dll), Nama domain alamat dan halaman/jalur:
http://msdn.microsoft.com:80/scripting/default.htm
Subekspresi tambahan pertama digunakan untuk menangkap bagian protokol dari alamat web. Subekspresi ini cocok dengan kata apa pun yang diawali dengan titik dua dan dua garis miring. Subekspresi tambahan kedua menangkap alamat domain dari alamat tersebut. Subekspresi ini cocok dengan urutan karakter apa pun yang tidak menyertakan karakter '^', '/', atau ':'. Subekspresi tambahan ketiga menangkap nomor port situs web, jika ditentukan. Subekspresi ini cocok dengan nol atau lebih angka yang diikuti dengan titik dua. Terakhir, subekspresi tambahan keempat menangkap informasi jalur dan/atau halaman yang ditentukan oleh alamat web. Subekspresi ini cocok dengan satu atau lebih karakter kecuali '#' atau spasi.
Ketika ekspresi reguler diterapkan ke URI yang ditunjukkan di atas, subpencocokan mencakup yang berikut:
RegExp.$1 berisi "http"
RegExp.$2 berisi "msdn.microsoft.com"
RegExp.$3 berisi ":80"
RegExp.$4
Metode1
yangberisi ekspresi reguler "/scripting/default.htm"
.
Metode pengujianmengembalikan nilai Boolean, yang menunjukkan apakah pola ada dalam string yang sedang dicari.
rgExp.test(str)
Properti objek RegExp global tidak diubah oleh metode
.
kode program
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var flag=reg.test(url);
bendera //mengembalikan nilai benar
RegExp.$1 //Kembalikan "http"
RegExp.$2 //Kembalikan "msdn.microsoft.com"
RegExp.$3 //Kembali ":80"
$egExp.$4 //Kembalikan "/scripting/default.html"
Baik metode pencarian maupun pengujian tidak dapat memperbarui objek RegExp global, sehingga RegExp.input, RegExp.index, dan RegExp.lastIndex mengembalikan tidak terdefinisi
2. Metode pencocokan
menggunakan pola ekspresi reguler untuk melakukan pencarian pada string dan mengembalikan hasil yang berisi pencarian sebagai array.
kode program
stringObj.pertandingan(rgExp)
Jika metode pencocokan tidak menemukan kecocokan, ia mengembalikan null. Jika kecocokan ditemukan, array dikembalikan dan properti objek RegExp global diperbarui untuk mencerminkan kecocokan.
Array yang dikembalikan oleh metode pencocokan memiliki tiga atribut: input, indeks, dan lastIndex.
Properti Input berisi seluruh string yang dicari.
Properti Indeks berisi posisi substring yang cocok dalam seluruh string pencarian.
Properti LastIndex berisi posisi di sebelah karakter terakhir pada kecocokan terakhir.
Jika bendera global (g) tidak disetel, elemen 0 dari array berisi seluruh kecocokan, dan elemen 1 hingga n berisi sub-kecocokan apa pun yang terjadi dalam kecocokan.
Ini setara dengan metode exec tanpa menyetel bendera global. Jika bendera global disetel, elemen 0 hingga n berisi semua kecocokan
contoh 1 (bendera global tidak disetel)
kode program
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var myArray=url.cocok(reg);
RegExp.$1 //Kembalikan "http"
RegExp.$2 //Kembalikan "msdn.microsoft.com"
RegExp.$3 //Kembali ":80"
$egExp.$4 //Kembalikan "/scripting/default.html"
myArray //Kembalikan myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
myArray[1]="http",myArray[2]="msdn.microsoft.com",
myArray[3]=":80",myArray[4]="/scripting/default.html"
myArray.input //Kembalikan "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index //Kembalikan 0
myArray.lastIndex //Kembali 51
contoh2 (kumpulan bendera global)
kode program
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/g;
var myArray=url.cocok(reg);
RegExp.$1 //Kembalikan "http"
RegExp.$2 //Kembalikan "msdn.microsoft.com"
RegExp.$3 //Kembali ":80"
$egExp.$4 //Kembalikan "/scripting/default.html"
myArray //Kembalikan myArray=" http://msdn.microsoft.com:80/scripting/default.html "
myArray.input //Kembalikan "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index //Kembalikan 0
myArray.lastIndex //Kembali 51
Perhatikan perbedaannya setelah menyetel bendera global
Jika bendera global (g) tidak disetel, elemen 0 dari array berisi seluruh kecocokan, dan elemen 1 hingga n berisi sub-kecocokan apa pun yang terjadi dalam kecocokan.
Ini setara dengan metode exec tanpa menyetel bendera global. Jika bendera global disetel, elemen 0 hingga n berisi semua kecocokan
3. Metode exex
menjalankan pencarian pada string menggunakan pola ekspresi reguler dan mengembalikan array yang berisi hasil pencarian.
kode program
rgExp.exec(str)
Jika metode exec tidak menemukan kecocokan, ia mengembalikan null.
Jika menemukan kecocokan, metode exec mengembalikan array dan properti objek RegExp global diperbarui untuk mencerminkan kecocokan.
Elemen 0 dari array berisi kecocokan lengkap, sedangkan elemen 1 hingga n berisi sub-kecocokan apa pun yang terjadi dalam kecocokan tersebut.
Ini setara dengan metode pencocokan tanpa menyetel bendera global (g).
Jika bendera global disetel untuk ekspresi reguler, exec mulai melihat posisi yang ditunjukkan oleh nilai lastIndex.
Jika bendera global tidak disetel, exec mengabaikan nilai lastIndex dan mencari dari awal string.
Array yang dikembalikan oleh metode exec memiliki tiga atribut yaitu input, index, dan lastIndex.
Properti Input berisi seluruh string yang dicari.
Atribut Index berisi posisi substring yang cocok di seluruh string yang dicari.
Properti LastIndex berisi posisi selanjutnya dari karakter terakhir dalam kecocokan.
contoh1 (tidak ada kumpulan bendera global)
kode program
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var myArray=reg.exec(url);
RegExp.$1 //Kembalikan "http"
RegExp.$2 //Kembalikan "msdn.microsoft.com"
RegExp.$3 //Kembali ":80"
$egExp.$4 //Kembalikan "/scripting/default.html"
myArray //Kembalikan myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
myArray[1]="http",myArray[2]="msdn.microsoft.com",
myArray[3]=":80",myArray[4]="/scripting/default.html"
myArray.input //Kembalikan "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index //Kembalikan 0
myArray.lastIndex //Kembali 51
Jika bendera global (g) tidak disetel, metode pencocokannya sama dengan metode exec
contoh2 (setel bendera global)
kode program
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var myArray=reg.exec(url);
RegExp.$1 //Kembalikan "http"
RegExp.$2 //Kembalikan "msdn.microsoft.com"
RegExp.$3 //Kembali ":80"
$egExp.$4 //Kembalikan "/scripting/default.html"
myArray //Kembalikan myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
myArray[1]="http",myArray[2]="msdn.microsoft.com",
myArray[3]=":80",myArray[4]="/scripting/default.html"
myArray.input //Kembalikan "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index //Kembalikan 0
myArray.lastIndex //Kembali 51
4 Metode pencarian
mengembalikan posisi substring pertama yang cocok dengan konten pencarian ekspresi reguler.
kode program
stringOjb.pencarian(rgExp)
Metode pencarian menunjukkan apakah ada kecocokan yang sesuai.
Jika kecocokan ditemukan, metode pencarian mengembalikan nilai integer yang menunjukkan offset kecocokan dari awal string.
Jika tidak ditemukan kecocokan, -1 dikembalikan.
contoh1
kode program
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var flag=url.pencarian(reg);
bendera //kembali 0
RegExp.$1 //Kembalikan "http"
RegExp.$2 //Kembalikan "msdn.microsoft.com"
RegExp.$3 //Kembali ":80"
$egExp.$4 //Kembalikan "/scripting/default.html"
Baik metode pencarian maupun pengujian tidak dapat memperbarui objek RegExp global, sehingga RegExp.input, RegExp.index, dan RegExp.lastIndex mengembalikan tidak terdefinisi
5 Metode penggantian
mengembalikan salinan string setelah penggantian teks berdasarkan ekspresi reguler dan
dapat memperbarui objek RegExp global.