ปริมาณโลภ:
ก่อนอื่นมาดูกันว่าสตริงทั้งหมดตรงกับหรือไม่ หากไม่พบการจับคู่มันจะลบอักขระสุดท้ายในสตริงสุดท้ายและพยายามอีกครั้ง หากไม่พบการจับคู่ให้ลบสตริงสุดท้ายอีกครั้งและกระบวนการจะถูกทำซ้ำจนกว่าจะพบการจับคู่หรือสตริงไม่มีอักขระเหลืออยู่ ปริมาณที่เรียบง่ายเป็นปริมาณที่โลภทั้งหมด
Lazy Quantifier:
ก่อนอื่นให้ดูว่าตัวอักษรตัวแรกในสตริงตรงกันหรือไม่ หากไม่พบการจับคู่ค่า Lazy Quantifier ยังคงเพิ่มอักขระจากสตริงจนกว่าจะพบการจับคู่หรือตรวจสอบสตริงทั้งหมดและไม่มีการจับคู่ ปริมาณที่ขี้เกียจทำงานอย่างตรงไปตรงมา
ปริมาณที่โดดเด่น:
พยายามจับคู่สตริงทั้งหมดเท่านั้น หากสตริงทั้งหมดไม่สร้างการแข่งขันจะไม่มีความพยายามอีกต่อไป
ปริมาณโลภที่ขี้เกียจครอบงำครอบงำคำอธิบายเชิงปริมาณ
------------------------------------------------------ -------------------------------
??
* *? *+ สามารถปรากฏได้ตลอดเวลา
+ +?
{n} {n}?
{n, m} {n, m}?
{n,} {n,}?
1. คำวัดโลภ
การคัดลอกรหัสมีดังนี้:
var regexp = /.*bbb/g;
var a = str.match (regexp);
การแจ้งเตือน (A.Length);
การแจ้งเตือน (a [0]);
กระบวนการทำงานของปริมาณโลภสามารถแสดงได้ด้วยวิธีนี้:
a) Abbbaabbbaabbb1234
b) Abbaabbbaabbb123
c) Abbbabbaabaaabbb12
d) Abbbabbaabaaabbb1
e) Abbbabbaabaabbb // true
คุณจะเห็นว่าปริมาณโลภจะหยุดทำงานหลังจากได้รับการจับคู่แม้ว่าเราจะเพิ่ม 'g' (การจับคู่ทั่วโลก)
2. คำวัดขี้เกียจ
การคัดลอกรหัสมีดังนี้:
var regexp = /.*?bbb/g;
var a = str.match (regexp);
การแจ้งเตือน (A.Length);
การแจ้งเตือน (a [0]);
การแจ้งเตือน (a [1]);
การแจ้งเตือน (a [2]);
กระบวนการทำงานของปริมาณขี้เกียจสามารถแสดงออกได้ด้วยวิธีนี้:
a) a
b) AB
C) ABB
D) ABBB // บันทึกผลลัพธ์และเริ่มต้นอีกครั้งจากตำแหน่งถัดไป
e) ก
f) AA
g) AAB
h) AABB
j) AABBB // บันทึกผลลัพธ์และเริ่มต้นใหม่จากตำแหน่งถัดไป
e) ก
e) AA
e) AAA
e) AAAB
e) aaabb
e) AAABBB // บันทึกผลลัพธ์และเริ่มต้นใหม่จากตำแหน่งถัดไป
การคัดลอกรหัสมีดังนี้:
String String = "ABBBAABBBAABBB1234";
รูปแบบ p = pattern.compile (".*+bbb");
matcher m = p.matcher (สตริง);
System.out.println (M.Find ());
เพราะปริมาณที่โดดเด่นใช้วิธีการจับคู่ขนาดเดียวขนาดเดียวเช่น::
a) Abbbabbaabaabbb1234 // false
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้
โปรดใช้เวลาแบ่งปันบทความกับเพื่อนของคุณหรือแสดงความคิดเห็น เราจะขอบคุณอย่างจริงใจสำหรับการสนับสนุนของคุณ!