แพ็คเกจ java.util.regex ของ java มีคลาสที่หลากหลายเพื่อค้นหารูปแบบเฉพาะในลำดับอักขระ
รูปแบบ คลาสของแพ็คเกจนี้เป็นการแสดงนิพจน์ทั่วไปที่คอมไพล์แล้ว ในการจับคู่นิพจน์ทั่วไปกับสตริง คลาสนี้จะมีสองวิธีคือ −
-
คอมไพล์() − เมธอดนี้ยอมรับสตริงที่แสดงนิพจน์ทั่วไปและส่งคืนอ็อบเจ็กต์ของรูปแบบคลาส
-
ตัวจับคู่() − เมธอดนี้ยอมรับค่าสตริงและสร้างอ็อบเจ็กต์ที่จับคู่ซึ่งตรงกับสตริงที่กำหนดกับรูปแบบที่แสดงโดยอ็อบเจ็กต์รูปแบบปัจจุบัน
ตัวจับคู่ คลาสของแพ็คเกจ java.util.regex เป็นเอ็นจิ้นที่ดำเนินการจับคู่ ในการหาค่าที่ตรงกัน คุณต้องใช้สองวิธีของคลาสนี้คือ −
-
ค้นหา() − เมธอดนี้คืนค่า จริง หากการดำเนินการจับคู่ที่แสดงโดยอ็อบเจกต์ปัจจุบันสำเร็จ มิฉะนั้น จะส่งกลับค่าเท็จ
-
กลุ่ม() - เมธอดนี้ยอมรับค่าจำนวนเต็มที่แสดงถึงกลุ่มใดกลุ่มหนึ่งและส่งกลับลำดับที่กลุ่มที่ระบุจับในการดำเนินการจับคู่
ดังนั้น ในการค้นหาแท็ก HTML จากสตริง −
-
สร้างวัตถุรูปแบบโดยส่งนิพจน์ทั่วไปที่แสดงถึงแท็ก HTML ที่ต้องการให้เป็นพารามิเตอร์ไปยังวิธีการคอมไพล์ () ของคลาส Pattern
-
จับคู่กับสตริงที่ต้องการโดยใช้เมธอด matcher() ของคลาส Pattern
-
ตรวจสอบว่าเกิดขึ้นโดยใช้เมธอด find() ของคลาส Matcher หรือไม่
-
ในกรณีของการจับคู่ ดึงสตริงที่ตรงกันโดยใช้เมธอด group() ของคลาส Matcher
ตัวอย่าง
import java.util.regex.Matcher; import java.util.regex.Pattern; public class ExtractHtmlTag { public static void main(String[] args) { String str = "Welcome to <b>Tutorialspoint<b>"; //Creating a pattern object Pattern pattern = Pattern.compile("<b>(\\S+)</b>"); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(str); if (matcher.find()) { String result = matcher.group(1); System.out.println(result); } } }
ผลลัพธ์
Tutorialspoint