⊗jsSpRENPB 132 of 294 menu

วงเล็บที่ไม่เก็บบันทึกใน Regular Expressions ของ JavaScript

วงเล็บ ( ) ทำหน้าที่สองอย่าง คือ การจัดกลุ่มตัวอักษรและการทำหน้าที่เป็น capturing group (กลุ่มที่จับค่าไว้) แต่ถ้าเราต้องการจัดกลุ่ม โดยไม่ต้องการจับค่าไว้ล่ะ? เพื่อแก้ปัญหานี้ จึงมีการคิดค้น วงเล็บที่ไม่เก็บบันทึก (?: ) ขึ้นมา - มันทำหน้าที่จัดกลุ่ม แต่ไม่จับค่าใส่ capturing group

ตัวอย่าง

ในตัวอย่างต่อไปนี้ วงเล็บคู่แรกเราต้องการ เพื่อการจัดกลุ่ม และวงเล็บคู่ที่สอง - เพื่อจับค่าไว้ อย่างไรก็ตาม วงเล็บทั้งสองคู่ต่างก็เก็บบันทึกข้อมูล ลงใน capturing group:

let str = 'abab123'; let res = str.match(/(ab)+([1-9]+)/);

ผลลัพธ์ใน capturing groups ของเราจะเป็นดังนี้:

console.log(res[0]); // จะแสดง 'abab123' console.log(res[1]); // จะแสดง 'ab' console.log(res[2]); // จะแสดง '123'

ตัวอย่าง

มาทำให้วงเล็บคู่แรกทำหน้าที่เพียงแค่ จัดกลุ่มเท่านั้น แต่ไม่จับค่าใส่ capturing group:

let str = 'abab123'; let res = str.match(/(?:ab)+([1-9]+)/);

ผลลัพธ์ใน capturing group แรกจะเป็นตัวเลขของเรา:

console.log(res[1]); // จะแสดง '123'
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ