JavaScript 正则表达式中的 w 与 W?
javascriptweb developmentfront end technology
本文讨论了 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)。我们仅在这些示例中使用匹配方法。
语法
\w 正则表达式的语法是 −
RegExp("\w", "g") 或 /\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>
执行上述代码后,将生成以下输出。