คุณสามารถจับคู่ตัวเลขในสตริงที่กำหนดโดยใช้อักขระเมตา "\\d " หรือโดยใช้นิพจน์ต่อไปนี้ :
[0-9]
ตัวอย่างที่ 1
<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; ตัวอย่างคลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) {// การอ่านสตริงจากระบบของผู้ใช้ .out.println("ป้อนสตริง"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); สตริง regex ="\\d"; //การคอมไพล์นิพจน์ทั่วไป Pattern pattern =Pattern.compile(regex); //ดึงวัตถุที่จับคู่ Matcher matcher =pattern.matcher (อินพุต); จำนวน int =0; ในขณะที่ (matcher.find ()) { นับ ++; } System.out.println("จำนวนหลัก:"+จำนวน); }}ผลลัพธ์
ป้อนข้อความตัวอย่างสตริง 1234 6657จำนวนหลัก:8
ตัวอย่างที่ 2
นำเข้า java.util.Scanner;คลาสสาธารณะ RegexExample { public static void main ( String args[] ) {// นิพจน์ปกติเพื่อรับ 10 หลัก String regex ="\\d{10}"; System.out.println("ป้อนค่าที่ป้อน:"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); ผลลัพธ์บูลีน =input.matches (regex); ถ้า (ผลลัพธ์) { System.out.println ("ตัวเลข 10 หลัก"); } อื่น { System.out.println ("อินพุตผิด"); } }}
ผลลัพธ์ 1
ป้อนค่าอินพุต:984802255810 ตัวเลขหลัก
ผลลัพธ์ 2
ป้อนค่าอินพุต:5337 อินพุตผิด