\w vs \W
มีความแตกต่างมากระหว่าง '\w' และ '\W' ใน JavaScript โดยตัวแรกจับ 'Word Characters' เช่น Alphanumerics ตัวหลังจับ 'Non-word Characters' เช่น &, ^, %, เป็นต้น มาดูรายละเอียดกัน
Syntax-1
new RegExp("\\w", "g");
Syntax สำหรับหา 'Word Characters' ใน JavaScript
Syntax-2
new RegExp("\\W", "g");
Syntax สำหรับหา 'Non-word Characters' ใน JavaScript
ตัวอย่างที่ 1
ในตัวอย่างนี้ ใช้ \w ร่วมกับ Global Object 'g' หากไม่ใช้ 'g' จะได้แค่ Alphanumeric ตัวแรกใน Output ใช้ 'g' ได้ Alphanumeric ทั้งหมดตาม Output
<html> <body> <script> var str = "**Tutorix is the best e-learning platform%!"; var regpat = /\w/g; var result = str.match(regpat); document.write(result); </script> </body> </html>
ผลลัพธ์
T,u,t,o,r,i,x,i,s,t,h,e,b,e,s,t,e,l,e,a,r,n,i,n,g,p,l,a,t,f,o,r,m
ตัวอย่างที่ 2
ในตัวอย่างนี้ ใช้ '\W' ได้ 'Non-word Characters' ใน Output หากไม่ใช้ 'g' ได้แค่ Non-word Character ตัวแรก ใช้ 'g' ได้ทั้งหมดตาม Output
<html> <body> <script> var str = "**Tutorix is the best e-learning platform%!"; var regpat = /\W/g; var result = str.match(regpat); document.write(result); </script> </body> </html>
ผลลัพธ์
*,*, , , , ,-, ,%,!