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>
执行完上面的代码,将生成以下输出。
广告