ชุดตัวอักษรในนิพจน์ทั่วไปของ JavaScript

กลุ่มตัวอักษร \d และ \w ไม่ มีความยืดหยุ่นมากนัก แม้กระทั่งงานง่ายๆ อย่าง ค้นหาตัวอักษรทั้งหมด แต่ไม่ใช่ตัวเลข - ก็ไม่สามารถแก้ไขได้ด้วยกลุ่มเหล่านี้ สำหรับงานดังกล่าว ควรใช้วงเล็บเหลี่ยม ซึ่งแสดงถึง การดำเนินการ 'หรือ'

วงเล็บเหลี่ยมแทนที่ตัวอักษรเดียว ใดๆ ก็ตามที่ระบุไว้ภายใน ตัวอย่างเช่น แบบนี้: /x[abc]x/ - เรากำหนดว่า ที่ขอบทั้งสองด้านต้องเป็นตัวอักษร x และตรงกลาง - เป็นตัวอักษรเดียว: ไม่ว่า 'a', 'b', หรือ 'c'

หลังจากวงเล็บเหลี่ยม คุณสามารถเขียนโอเปอเรเตอร์ การทำซ้ำได้ ตัวอย่างเช่น แบบนี้: /x[abc]+x/ - เรากำหนดว่าภายใน x สามารถมี จำนวนตัวอักษร 'a', 'b' และ 'c' เท่าใดก็ได้ - ในรูปแบบการผสมใดๆ

คุณไม่เพียงแต่สามารถระบุตัวอักษรได้ แต่ยังสามารถสร้าง กลุ่มตัวอักษรได้ โดยการเขียนเครื่องหมายยัติภังค์ระหว่างตัวอักษรสองตัว ตัวอย่างเช่น แบบนี้: [a-d] - เราได้รับตัวอักษรทั้งหมดตั้งแต่ 'a' ถึง 'd'

ลองดูตัวอย่างกัน

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวอักษรใดๆ ก็ตามตั้งแต่ 'a' ถึง 'z':

javascriptlet str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'! ! ! x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวอักษรใดๆ ก็ตามตั้งแต่ 'a' ถึง 'k':

javascriptlet str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'! ! xmx x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวอักษรใดๆ ก็ตามตั้งแต่ 'A' ถึง 'Z':

javascriptlet str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'xax ! xcx x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวเลขใดๆ ก็ตามตั้งแต่ 0 ถึง 9:

javascriptlet str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'xax ! ! ! x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวเลขใดๆ ก็ตามตั้งแต่ 3 ถึง 7:

javascriptlet str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'xax x1x ! ! x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวอักษรใดๆ ก็ตามตั้งแต่ 'a' ถึง 'z' หรือตัวเลขตั้งแต่ 1 ถึง 9:

javascriptlet str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'! ! ! ! x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวอักษรใดๆ ก็ตามตั้งแต่ 'a' ถึง 'z' หรือตัวอักษรตั้งแต่ 'A' ถึง 'Z':

javascriptlet str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'! ! ! x5x x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวอักษรใดๆ ก็ตามตั้งแต่ 'a' ถึง 'z' หรือตัวเลข 1, 2:

javascriptlet str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'! ! ! ! x3x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือนดังนี้: ระหว่าง x เป็นตัวอักษรตั้งแต่ 'a' ถึง 'z' จำนวนตั้งแต่ 1 ขึ้นไป:

javascriptlet str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'xx ! ! ! x123x xa3x'

ตัวอย่าง

มาทำให้จำนวนตัวอักษรสามารถเป็นศูนย์ได้:

javascriptlet str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');

ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:

javascript'! ! ! ! x123x xa3x'

งานฝึกฝน

Задание 1

กำหนดสตริง:

javascriptlet str = 'aba aea aca aza axa';

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a', และระหว่างพวกมันคือตัวอักษร 'b', 'e' หรือ 'x'

Задание 2

กำหนดสตริง:

javascriptlet str = 'a1a a3a a7a a9a aba';

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a', และระหว่างพวกมันคือตัวเลขตั้งแต่ 3 ถึง 6

Задание 3

กำหนดสตริง:

javascriptlet str = 'aba aea afa aha aga';

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a', และระหว่างพวกมันคือตัวอักษรจาก a ถึง g

Задание 4

กำหนดสตริง:

javascriptlet str = 'aba aea afa aha aga';

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a', และระหว่างพวกมันคือตัวอักษรจาก a ถึง f และจาก j ถึง z

Задание 5

กำหนดสตริง:

javascriptlet str = 'aAa aea aEa aJa a3a';

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a', และระหว่างพวกมันคือตัวอักษรจาก a ถึง f และจาก A ถึง D

Задание 6

กำหนดสตริง:

javascriptlet str = 'aAXa aeffa aGha aza ax23a a3sSa';

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a', และระหว่างพวกมันคือตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก, โดยไม่กระทบกับส่วนอื่น

Задание 7

กำหนดสตริง:

javascriptlet str = 'aAXa aeffa aGha aza ax23a a3sSa';

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a', และระหว่างพวกมันคือตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่, โดยไม่กระทบกับส่วนอื่น

Задание 8

กำหนดสตริง:

javascriptlet str = 'aAXa aeffa aGha aza ax23a a3sSa';

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a', และระหว่างพวกมันคือตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก และตัวเลข, โดยไม่กระทบกับส่วนอื่น