การกลับเซ็ตตัวอักษรในนิพจน์ทั่วไป
การใช้สัญลักษณ์หมวก '^' ที่ตอนต้นของวงเล็บสี่เหลี่ยมช่วยให้สามารถกลับค่าที่ต้องการได้ นั่นคือ หากตัวอย่างเช่น คำสั่ง [ab] ค้นหาตัวอักษร 'a' หรือ 'b' แล้ว คำสั่ง [^ab] จะค้นหาทุกตัวอักษร ยกเว้น 'a' และ 'b'
ตัวอย่าง
ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้:
ตัวอักษร 'x' จากนั้น NOT ตัวอักษร 'a', ไม่ใช่ 'b' และไม่ใช่ 'c' แล้วตามด้วยตัวอักษร 'z':
let str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');
ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:
'xax xbx xcx !'
ตัวอย่าง
ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้:
ตัวอักษร 'x' จากนั้น NOT ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก ตามด้วยตัวอักษร 'z':
let str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');
ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:
'xaz xbz ! !'
โจทย์ฝึกปฏิบัติ
เขียนนิพจน์ทั่วไปที่ค้นหาสตริงตามรูปแบบ: ตัวเลข '1' จากนั้นตัวอักษรที่ไม่ใช่ 'e' และไม่ใช่ 'x' ตัวเลข '2'
เขียนนิพจน์ทั่วไปที่ค้นหาสตริงตามรูปแบบ: ตัวอักษร 'x' จากนั้น NOT ตัวเลขตั้งแต่ 2 ถึง 7 ตัวอักษร 'z'
เขียนนิพจน์ทั่วไปที่ค้นหาสตริงตามรูปแบบ: ตัวอักษร 'x' จากนั้น NOT ตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ตั้งแต่ 1 ครั้งขึ้นไป ตัวอักษร 'z'
เขียนนิพจน์ทั่วไปที่ค้นหาสตริงตามรูปแบบ: ตัวอักษร 'x' จากนั้น NOT ตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กและไม่ใช่ตัวเลขตั้งแต่ 1 ถึง 5 ตั้งแต่ 1 ครั้งขึ้นไป ตัวอักษร 'z'