ปริมาณโลภคือปริมาณเริ่มต้น ปริมาณที่โลภจับคู่ให้มากที่สุดจากสตริงอินพุต (การจับคู่ที่ยาวที่สุดเท่าที่จะเป็นไปได้) หากไม่จับคู่จะออกจากอักขระตัวสุดท้ายและจับคู่อีกครั้ง ต่อไปนี้เป็นรายการของปริมาณโลภ -
ตัวระบุ | คำอธิบาย |
---|---|
รี* | ตรงกับศูนย์หรือมากกว่าที่เกิดขึ้น |
หรือ? | จับคู่ศูนย์หรือ 1 รายการ |
รี+ | จับคู่อย่างน้อยหนึ่งรายการ |
รี{n} | ตรงกับ n ครั้งพอดี |
re{n, } | จับคู่อย่างน้อย n ครั้ง |
re{n, m} | จับคู่อย่างน้อย n และมากที่สุด m ครั้ง |
ตัวอย่าง
ในตัวอย่าง Java ต่อไปนี้ เรากำลังพยายามจับคู่ตัวเลขตั้งแต่ 1 หลักขึ้นไป สตริงอินพุตของเราคือ 45545 แม้ว่าค่า 4, 45, 455 ฯลฯ… จะเข้าเงื่อนไขได้ เนื่องจากเราใช้ตัวระบุที่โลภซึ่งตรงกับค่าที่ยาวที่สุด
<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; การทดสอบคลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนข้อความ:"); อินพุตสตริง =sc.nextLine(); สตริง regex ="[0-9]+"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //จับคู่รูปแบบที่คอมไพล์แล้วใน String Matcher matcher =pattern.matcher(input); System.out.println(“”ข้อความที่ตรงกัน:); ในขณะที่ (matcher.find ()) { System.out.println (matcher.group ()); } }}ผลลัพธ์
ป้อนข้อความที่ป้อน:ข้อความที่ตรงกัน:45545