นิพจน์ทั่วไปค่อนข้างมีประสิทธิภาพในการประมวลผลสตริง
เกี่ยวกับการใช้นิพจน์ทั่วไปนั้นเกี่ยวกับประสบการณ์ของฉันเองมากกว่า หากคุณสนใจ คุณสามารถดูหนังสือที่เกี่ยวข้องได้
ที่นี่เราเขียนเกี่ยวกับวิธีการทำงานปกติใน Java เป็นหลัก
ตัวอย่างที่ 1: การจับคู่ การสาธิตคลาส {
โมฆะสาธารณะคงหลัก (สตริง [] args) {
สแกนเนอร์ sc = สแกนเนอร์ใหม่ (System.in);
//รับอินพุต
System.out.print("กรุณาระบุ:");
สตริง str = sc.nextLine();
ตรวจสอบ (str);
-
การตรวจสอบโมฆะคงที่ส่วนตัว (String str) {
//หลักที่ตรงกันตัวแรกคือ 1-9 หลักที่สองและหลักถัดไปคือ 0-9 (ตัวเลขอยู่ระหว่าง 4-10)
สตริง regex = "[1-9][0-9]{4,10}";
-
//จับคู่อักขระตัวเดียวที่เป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก az
สตริง regex = "[a-zA-Z]";
//จับคู่ตัวเลข ให้ความสนใจกับอักขระหลีก
สตริง regex = "//d";
//จับคู่ตัวเลขที่ไม่ใช่ตัวเลข
สตริง regex = "//D";
-
ถ้า (str.matches (regex)) {
System.out.println("การจับคู่สำเร็จ");
} อื่น {
System.out.println("การจับคู่ล้มเหลว");
-
-
-
ตัวอย่างที่ 2: การตัด
การสาธิตคลาส {
โมฆะสาธารณะคงหลัก (สตริง [] args) {
สแกนเนอร์ sc = สแกนเนอร์ใหม่ (System.in);
System.out.print("กรุณาระบุ:");
สตริง str = sc.nextLine();
แยก(str);
-
การแยกโมฆะคงที่ส่วนตัว (String str) {
//จับคู่ช่องว่างตั้งแต่หนึ่งช่องขึ้นไป
สตริง regex = " +";
สตริง [] arr = str.split (regex);
สำหรับ (สตริง s : arr) {
System.out.println(s);
-
-
-
ตัวอย่างที่ 3: การเปลี่ยน
การสาธิตคลาส {
โมฆะสาธารณะคงหลัก (สตริง [] args) {
สแกนเนอร์ sc = สแกนเนอร์ใหม่ (System.in);
System.out.print("กรุณาระบุ:");
สตริง str = sc.nextLine();
แทนที่(str);
-
โมฆะคงที่ส่วนตัวแทนที่ (String str) {
//จับคู่คำที่ซ้ำกัน
สตริง regex = "(.)//1+";
สตริง s = str.replaceAll(regex, "*");
System.out.println(s);
-
-