\ w vs \ W在JavaScript正则表达式中?

\ w与\ W

javascript 中的 ' \ w '和' \ W '之间有很多变体,其中前者照顾字母字符(例如字母数字),而后者照顾非单词字符(例如&,^, %等。让我们简要地讨论一下。

语法1

new RegExp("\\w", "g");

上面的代码给出了在javascript中查找“单词字符”的语法。 

语法2

new RegExp("\\W", "g");

上面的代码给出了在javascript中查找“非单词字符”的语法。 

示例1

在以下示例中,使用\ w以及全局对象' g '。如果未使用全局对象“ g ”,则仅第一个字母数字字母(如果存在)将显示在输出中。由于此处使用全局对象' g ',因此将显示所有字母数字字符,如输出所示。

<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 ”,因此在输出中显示了“非单词字符”。如果未使用全局对象“ g ”,则仅显示第一个“非单词字符”。由于此处使用了“ g”,因此所有非单词字符都将显示,如输出所示。

<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>

输出结果

*,*, , , , ,-, ,%,!