Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

อธิบาย Character Classes ใน Java Regex

Character Classes ใน Java Regex ใช้วงเล็บสี่เหลี่ยม [] จับคู่ตัวอักษรตัวเดียวจากชุดที่ระบุ เช่น [abc] จับคู่ a, b, c หรือ [a-z] จับคู่พิมพ์เล็ก a-z

รูปแบบต่างๆ ของ Character Classes

1. Negation (ปฏิเสธ) - [^...]

ใช้ ^ ภายในวงเล็บ จับคู่ตัวอักษรที่ ไม่อยู่ ในชุด

  • [^abc] - ไม่ใช่ a, b, c
  • [^a-z] - ไม่ใช่พิมพ์เล็ก a-z

2. Range (ช่วง) - [a-z]

ใช้ไฮเฟน - ระบุช่วง

  • [a-z] - พิมพ์เล็ก a ถึง z
  • [^A-Z] - ไม่ใช่พิมพ์ใหญ่ (Negation + Range)

3. Union (ยูเนียน) - [a-z[0-9]]

รวมช่วงหลายช่วงด้วยการซ้อนวงเล็บ จับคู่ตัวอักษรจาก ช่วงใดช่วงหนึ่ง

  • [a-z[0-9]] - พิมพ์เล็ก a-z หรือ ตัวเลข 0-9

4. Intersection (อินเตอร์เซ็กชัน) - [a-z&&[r-u]]

จับคู่ตัวอักษรที่ อยู่ในทั้งสองช่วง ใช้ &&

  • [a-z&&[r-u]] - ตัวอักษรที่เป็นพิมพ์เล็ก และ อยู่ใน r-u → r, s, t, u

5. Subtraction (ลบช่วง) - [a-l&&[^e-h]]

ลบช่วงหนึ่งออกจากอีกช่วง ใช้ Negation + Intersection

  • [a-l&&[^e-h]] - a ถึง l ลบ e ถึง h ออก → a, b, c, d, i, j, k, l

ตารางสรุป

ประเภทSyntaxตัวอย่างจับคู่
Basic[abc]ตัวอักษรเดี่ยวa, b, c
Range[a-z]ช่วงa-z
Negation[^abc]ยกเว้นยกเว้น a,b,c
Union[a-z[0-9]]รวม (OR)a-z หรือ 0-9
Intersection[a-z&&[r-u]]ร่วม (AND)r, s, t, u
Subtraction[a-l&&[^e-h]]ลบช่วงa-d, i-l