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

อธิบายคลาสอักขระในนิพจน์ทั่วไปของ Java


คลาสอักขระในนิพจน์ทั่วไป Java ถูกกำหนดโดยใช้วงเล็บเหลี่ยม "[ ]" นิพจน์ย่อยนี้จับคู่อักขระตัวเดียวจากที่ระบุหรือชุดอักขระที่เป็นไปได้

ตัวอย่างเช่น นิพจน์ทั่วไป [abc] จะจับคู่อักขระตัวเดียว a หรือ b หรือ c ในทำนองเดียวกัน "[a-z]" จะจับคู่อักขระตัวเดียวจาก a ถึง z

ต่อไปนี้เป็นตัวแปรอื่นๆ ของคลาส Java regex ของอักขระ:

การปฏิเสธ − ตัวแปรเชิงลบของคลาสอักขระถูกกำหนดเป็น "[^ ]" (โดยที่ ^ อยู่ในเครื่องหมายปีกกา) จะจับคู่อักขระตัวเดียวที่ไม่อยู่ในที่ระบุหรือชุดของอักขระที่เป็นไปได้ ตัวอย่างเช่น นิพจน์ทั่วไป [^abc] จับคู่อักขระตัวเดียวยกเว้น a หรือ b หรือ c ในทำนองเดียวกัน "[^a-z]" จะจับคู่อักขระยกเว้นตัวอักษรจาก a ถึง z

ช่วง − ตัวแปรช่วงของคลาสอักขระช่วยให้คุณใช้ช่วงของอักขระได้ ตัวอย่างเช่น นิพจน์ [a-z] จะจับคู่อักขระตัวเดียวจากตัวอักษร a ถึง z และนิพจน์ [^A-Z] จะจับคู่อักขระที่ไม่ใช่ตัวพิมพ์ใหญ่ .

ยูเนี่ยน − ตัวแปรร่วมของคลาสอักขระช่วยให้คุณจับคู่อักขระจากช่วงที่ระบุได้ ตัวอย่างเช่น นิพจน์ [a-z[0-9]] จะจับคู่อักขระตัวเดียวซึ่งเป็นตัวอักษรขนาดเล็ก (a-z) หรือตัวเลข ( 0-9)

สี่แยก − ตัวแปรทางแยกของคลาสอักขระช่วยให้คุณจับคู่อักขระที่พบได้ทั่วไปในช่วงที่มีความสัมพันธ์ทางแยกระหว่างพวกเขา ความสัมพันธ์ทางแยกระหว่างช่วงถูกกำหนดโดยใช้ &&ตัวอย่างเช่น นิพจน์ [a-z&&[r-u]] จับคู่อักขระตัวเดียวจาก r ถึง u

การลบ − คุณสามารถลบช่วงหนึ่งออกจากช่วงอื่นและใช้เป็นช่วงใหม่ได้ คุณสามารถทำสิ่งนี้ได้โดยใช้คลาสอักขระ 2 แบบคือ negation และ intersection ตัวอย่างเช่น จุดตัดของช่วง [a-l] และ [^e-h] ให้อักขระ a ถึง l เท่ากับ rage ลบอักขระ [e-h]