อักขระพิเศษภายในวงเล็บเหลี่ยมใน JavaScript
อักขระพิเศษภายใน [ ] จะกลายเป็น
อักขระธรรมดา ซึ่งหมายความว่าไม่จำเป็น
ต้องใช้แบ็กสแลชเพื่อหนี (escape) อักขระเหล่านั้น
ตัวอย่าง
ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนว่า:
ระหว่าง x ตัวใด ๆ เป็นตัวอักษร 'a', 'b',
'c', หรือจุด:
let str = 'xax xbx xcx xdx x.x x@x';
let res = str.replace(/x[abc.]x/g, '!');
ผลลัพธ์ที่ถูกบันทึกลงในตัวแปรจะเป็นดังนี้:
'! ! ! xdx ! x@x'
ตัวอย่าง
ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนว่า: ระหว่าง x ตัวใด ๆ เป็นตัวอักษรภาษาอังกฤษพิมพ์เล็ก หรือจุด:
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z.]x/g, '!');
ผลลัพธ์ที่ถูกบันทึกลงในตัวแปรจะเป็นดังนี้:
'! ! ! x@x'
โจทย์ปัญหาเชิงปฏิบัติ
กำหนดสตริง:
let str = 'aba aea aca aza axa a.a a+a a*a';
เขียนนิพจน์ทั่วไปที่สามารถค้นหาสตริง
'a.a', 'a+a', 'a*a',
โดยไม่กระทบกับสตริงอื่น
กำหนดสตริง:
let str = 'xaz x.z x3z x@z x$z xrz';
เขียนนิพจน์ทั่วไปที่สามารถค้นหาสตริง
ตามรูปแบบ: ตัวอักษร 'x', ตามด้วย NOT
จุด, NOT สัญลักษณ์ @, และ NOT สัญลักษณ์ $, จากนั้นคือตัวอักษร
'z'.