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>

執行上述程式碼後,將生成以下輸出。

更新於: 2022-12-09

3K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告