如何检查给定字符串中匹配的正则表达式有多少个

huangapple go评论118阅读模式
英文:

How to check how many matched regex in given string

问题

我想在JavaScript中查看正则表达式在给定字符串中匹配了多少次。

例如:

  1. var string = "AABBCCaabbcc123!@#"

我想要获得:

  • 字符串中大写字母的数量:6,
  • 字符串中小写字母的数量:6,
  • 字符串中数字的数量:3,
  • 字符串中特殊字符的数量:3

是否有内置的JavaScript函数或简单的方法来实现这个逻辑?

非常感谢。

英文:

I want to get how many time a regex matched in given string in JavaScript.

For example:

  1. var string = "AABBCCaabbcc123!@#"

I want to get:

  • How many upper case in string: 6,
  • How many lower case in string: 6,
  • How many numbers in string: 3,
  • How many special characters in stirng: 3

Is there built-in js functions or simple way to implement this logic?

Thank you very much.

答案1

得分: -1

以下是翻译好的代码部分:

  1. function countCharacters(inputStr) {
  2. // 大写字母
  3. var uCount = (inputStr.match(/[A-Z]/g) || []).length;
  4. // 小写字母
  5. var lCount = (inputStr.match(/[a-z]/g) || []).length;
  6. // 数字
  7. var nCount = (inputStr.match(/\d/g) || []).length;
  8. // 特殊字符
  9. var sCount = (inputStr.match(/[!@#$%^&*()_+{}\[\]:;<>,.?~\\\-]/g) || []).length;
  10. // 返回包含计数的对象
  11. return {
  12. 大写字母: uCount,
  13. 小写字母: lCount,
  14. 数字: nCount,
  15. 特殊字符: sCount
  16. };
  17. }
  18. var str = "AABBCCaabbcc123!@#";
  19. var counts = countCharacters(str);
  20. console.log("大写字母计数:", counts.大写字母); // 6
  21. console.log("小写字母计数:", counts.小写字母); // 6
  22. console.log("数字计数:", counts.数字); // 3
  23. console.log("特殊字符计数:", counts.特殊字符); // 3

请注意,我已经将代码中的注释翻译成中文,以便更容易理解代码的功能。如果您需要任何进一步的帮助,请告诉我。

英文:

You can try the following way:

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-js -->

  1. function countCharacters(inputStr) {
  2. //uppercase letters
  3. var uCount = (inputStr.match(/[A-Z]/g) || []).length;
  4. //lowercase letters
  5. var lCount = (inputStr.match(/[a-z]/g) || []).length;
  6. //numbers
  7. var nCount = (inputStr.match(/\d/g) || []).length;
  8. //special characters
  9. var sCount = (inputStr.match(/[!@#$%^&amp;*()_+{}\[\]:;&lt;&gt;,.?~\\\-]/g) || []).length;
  10. //return an object containing the counts
  11. return {
  12. uppercase: uCount,
  13. lowercase: lCount,
  14. numbers: nCount,
  15. specialCharacters: sCount
  16. };
  17. }
  18. var str = &quot;AABBCCaabbcc123!@#&quot;;
  19. var counts = countCharacters(str);
  20. console.log(&quot;Uppercase count:&quot;, counts.uppercase); //6
  21. console.log(&quot;Lowercase count:&quot;, counts.lowercase); //6
  22. console.log(&quot;Number count:&quot;, counts.numbers); //3
  23. console.log(&quot;Special character count:&quot;, counts.specialCharacters); //3

<!-- end snippet -->

huangapple
  • 本文由 发表于 2023年8月9日 12:17:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/76864548-2.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定