วงเล็บกลุ่มใน Regular Expressions JavaScript
ในตัวอย่างก่อนหน้านี้โอเปอเรเตอร์ซ้ำ ทำงานได้กับอักขระเพียงตัวเดียวที่ อยู่หน้าเท่านั้น เราจะทำอย่างไรถ้าต้องการ ให้มันทำงานกับอักขระหลายตัว?
สำหรับสิ่งนี้มีวงเล็บกลุ่ม
'(' และ . ทำงานดังนี้:
ถ้ามีบางอย่างอยู่ในวงเล็บกลุ่ม
และหลัง ')'')' ทันทีมีโอเปอเรเตอร์ซ้ำ
- มันจะส่งผลต่อทุกสิ่งที่อยู่ในวงเล็บนั้น
มาดูตัวอย่างกัน
ตัวอย่าง
ในตัวอย่างถัดไป แพตเทิร์นการค้นหามีลักษณะดังนี้:
ตัวอักษร 'x', ต่อด้วยสตริง 'ab'
หนึ่งครั้งหรือมากกว่า, แล้วตัวอักษร 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
ผลลัพธ์ที่เขียนลงในตัวแปรจะเป็นดังนี้:
'! ! xaabbx'
โจทย์ฝึกปฏิบัติ
ให้สตริง:
let str = 'ab abab abab abababab abea';
เขียน regular expression ที่จะค้นหาสตริง
ตามแพตเทิร์น: สตริง 'ab' ถูกทำซ้ำ
1 ครั้งหรือมากกว่า