d 和 D 在 JavaScript 中有什麼區別?


本文討論了 \d 與 D 在 JavaScript 正則表示式中的區別。\d 和 \D 元字元用於匹配給定字串中的字元。\d 和 \D 不同。\d(字元)等同於 [0-9],這意味著它匹配任何單數。

\d 不匹配的字元由 \D 匹配。\D 等同於 [^0-9],這意味著它匹配除了數字以外的任何字元。\d 和 \D 完全相反。要根據模式匹配字串,可能的方法有:string.match(pattern)、string.search(pattern)、pattern.exec(string)、pattern.test(text)。我們只在這些示例中使用 match 方法。

語法

\d 正則表示式的語法為:

RegExp("\d", "g")
Or
/\d/g

示例 1

這是一個演示如何使用 \d 元字元的示例程式。

<!DOCTYPE html>
<html>
<head>
   <title>\d in JavaScript regex</title>
</head>
<body style="text-align : center">
   <h3>\d in JavaScript regex</h3>
   <p id='result'></p>
   <script>
      var string = "1012 Brewery House, Road no. 24 Gachibowli, Hyderabad!"
      var reg_ex = new RegExp("\d", "g");
      var output = string.match(reg_ex);
      document.getElementById('result').innerHTML = output;
   </script>
</body>
</html>

執行完上面的程式碼,將生成以下輸出。

示例 2

\D 正則表示式的語法為:

RegExp("\D", "g")
Or
/\D/g

這是一個演示如何使用 \D 元字元的示例程式。

<!DOCTYPE html>
<html>
<head>
   <title>\d vs \D in JavaScript regex</title>
</head>
<body style="text-align : center">
   <h3>\D in JavaScript regex</h3>
   <p id='result'></p>
   <script>
      var string = "1012 Brewery House, Road no. 24 Gachibowli, Hyderabad!"
      var reg_ex = new RegExp("\D", "g");
      var output = string.match(reg_ex);
      document.getElementById('result').innerHTML = output;
   </script>
</body>
</html>

執行完上面的程式碼,將生成以下輸出。

示例 3

這是一個示例程式,旨在比較 \d\D 模式和使用者定義模式的結果。

<!DOCTYPE html>
<html>
<head>
   <title>\d vs \D in JavaScript regex</title>
</head>
<body style="text-align : center">
   <h3>\d vs \D in JavaScript regex</h3>
   <p id='result'></p>
   <script>
      var string = "1012 Brewery House, Road no. 24 Gachibowli, Hyderabad!"
      var reg_ex1 = new RegExp("\d", "g"); //Existing Regular expression Metacharacter \d
      var reg_ex2 = /[0-9]/g; // User-defined pattern
      var reg_ex11 = /\D/g; //Existing Regular expression Metacharacter \D
      var reg_ex22 = /[^0-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 \d :'+'<br/>'+' Using RegExp("\d", "g") : '+output1+'<br/>'+'Using /[0-9]/g : '+output2+'<br/>'+'For \W :'+'<br/>'+'Using /\D/g : '+output11+'<br/>'+'Using /[^0-9]/g : '+output22;
   </script>
</body>
</html>

執行完上面的程式碼,將生成以下輸出。

更新時間: 2022 年 12 月 9 日

2K+ 瀏覽量

開始你的 職業生涯

完成課程以獲得認證

立即開始
廣告