JavaScript 正則表示式中的 \w 和 \W 有什麼區別?
本文討論了 JavaScript 正則表示式中的 \w 和 \W。\w 和 \W 元字元用於匹配給定字串的字元。\w 和 \W 彼此不同。\w(字元)等價於 [a-zA-Z0-9_],這意味著它匹配任何單個字母、數字或下劃線。
\w 不匹配的字元由 \W 匹配。\W 等價於 [^a-zA-Z0-9_],這意味著它匹配除字母、數字和下劃線之外的任何字元。要使用模式匹配字串,可以使用以下方法:string.match(pattern)、string.search(pattern)、pattern.exec(string)、pattern.test(text)。在這些示例中,我們僅使用 match 方法。
語法
\w 正則表示式的語法如下:
RegExp("\w", "g") Or /\w/g
示例 1
這是一個使用\w 元字元的示例程式。
<!DOCTYPE html> <html> <head> <title>\w vs \W in JavaScript regex</title> </head> <body style="text-align : center"> <h3>\w vs \W in JavaScript regex</h3> <p id='result'></p> <script> var string = "!#@ Tutorials point is one of the best e-learning platform @#!" var reg_ex = new RegExp("\w", "g"); var output = string.match(reg_ex); document.getElementById('result').innerHTML = output; </script> </body> </html>
執行上述程式碼後,將生成以下輸出。
示例 2
\W 正則表示式的語法如下:
RegExp("\W", "g") Or /\W/g
這是一個使用\W 元字元的示例程式。
<!DOCTYPE html> <html> <head> <title>\w vs \W in JavaScript regex</title> </head> <body style="text-align : center"> <h3>\w vs \W in JavaScript regex</h3> <p id='result'></p> <script> var string = "!#@ Tutorials point is one of the best e-learning platform @#!" var reg_ex = new RegExp("\W", "g"); var output = string.match(reg_ex); document.getElementById('result').innerHTML = output; </script> </body> </html>
執行上述程式碼後,將生成以下輸出。
示例 3
這是一個比較\w 和\W 模式以及使用者定義模式結果的示例程式。
<!DOCTYPE html> <html> <head> <title>\w vs \W in JavaScript regex</title> </head> <body style="text-align : center"> <h3>\w vs \W in JavaScript regex</h3> <p id='result'></p> <script> var string = "!#@_ Tutorials point is one of the best e-learning platform _@#!" var reg_ex1 = new RegExp("\w", "g"); //Existing Regular expression Metacharacter \w var reg_ex2 = /[a-zA-Z0-9_]/g; // User-defined pattern var reg_ex11 = /\W/g; //Existing Regular expression Metacharacter \W var reg_ex22 = /[^a-zA-Z0-9_]/g; // User-defined pattern var output1 = string.match(reg_ex1); var output2 = string.match(reg_ex2); var output11 = string.match(reg_ex11); var output22 = string.match(reg_ex22); document.getElementById('result').innerHTML = 'For \w :'+'<br/>'+' Using RegExp("\w", "g") : '+output1+'<br/>'+'Using /[a-zA-Z0-9_]/g : '+output2+'<br/>'+'For \W :'+'<br/>'+'Using /\W/g : '+output11+'<br/>'+'Using /[^a-zA-Z0-9_]/g : '+output22; </script> </body> </html>
執行上述程式碼後,將生成以下輸出。
廣告