Kuantifikasi Serakah:
Pertama -tama mari kita lihat apakah seluruh string cocok. Jika tidak ada kecocokan yang ditemukan, itu menghilangkan karakter terakhir di string terakhir dan mencoba lagi. Jika tidak ada kecocokan yang ditemukan, maka lepaskan string terakhir lagi, dan prosesnya akan diulang sampai kecocokan ditemukan atau string tidak memiliki karakter yang tersisa. Kuantifikasi sederhana semuanya kuantifikasi serakah.
Kuantifikasi Lazy:
Mari kita lihat apakah huruf pertama dalam string cocok. Jika tidak ada kecocokan yang ditemukan, kuantifikasi malas terus menambahkan karakter dari string sampai kecocokan ditemukan atau seluruh string telah diperiksa dan tidak ada kecocokan. Kuantifikasi malas bekerja dengan cara yang sebaliknya.
Kuantifikasi dominan:
Cobalah untuk mencocokkan seluruh string saja. Jika seluruh string tidak menghasilkan kecocokan, tidak ada upaya lebih lanjut yang dilakukan.
Kuantifikasi serakah kuantifikasi malas mendominasi deskripsi kuantifikasi
-------------------------------------------------- -----------------------------------
???+ Dapat muncul 0 atau 1 kali
* *?+ Dapat muncul kapan saja atau tidak
+ + ++ muncul sekali atau lebih, tetapi setidaknya sekali
{n} {n}?
{n, m} {n, m}?
{n,} {n,}?
1. Kata pengukuran serakah
Salinan kode adalah sebagai berikut:
var regexp = /.*bbb/g;
var a = str.match (regexp);
waspada (a.length); // output: 1
Peringatan (A [0]);
Proses kerja kuantifikasi serakah dapat diekspresikan dengan cara ini:
a) Abbbaabbbaabbb1234
b) abbaabbbaabbb123
c) AbbBabbaabbaaAbbb12
d) AbbBabbaabbaaAbbb1
e) AbbBabbaabbaaabbb // true
Anda dapat melihat bahwa quantifier serakah akan berhenti bekerja setelah mendapatkan kecocokan, meskipun kami menambahkan 'g' (pertandingan global)
2. Kata pengukuran malas
Salinan kode adalah sebagai berikut:
var regexp = /.*?bbb/g;
var a = str.match (regexp);
Peringatan (A.Length); // Output: 3
Peringatan (A [0]); // Output: ABBB
Peringatan (A [1]);
Peringatan (A [2]);
Proses kerja kuantifikasi malas dapat diekspresikan dengan cara ini:
A A
b) AB
c) ABB
D) ABBB // Simpan hasilnya dan mulai lagi dari lokasi berikutnya
e) a
f) aa
g) aab
h) aabb
j) aabbb // simpan hasilnya dan mulai dari lokasi berikutnya
e) a
e) aa
e) aaa
e) aaab
e) aaabb
e) AAABBB // Simpan hasilnya dan mulai dari posisi berikutnya.
Salinan kode adalah sebagai berikut:
String string = "abbbaabbbaaabbb1234";
Pola p = pola.compile (".*+BBB");
Pencocokan m = p.matcher (string);
System.out.println (m.find ());
Karena kuantifikasi dominan mengadopsi metode pencocokan satu ukuran untuk semua, seperti:
a) AbbBabbaabbaaAbbb1234 // false
Di atas adalah seluruh konten artikel ini.
Harap luangkan waktu untuk berbagi artikel dengan teman Anda atau tinggalkan komentar. Kami akan dengan tulus berterima kasih atas dukungan Anda!