使用正则表达式检查字符串错误中的pangram

和1

罗伊想提高自己的编程比赛打字速度。他的朋友建议他反复输入句子“快速的棕色狐狸跳过懒狗”。该句子被称为pangram,因为它包含字母表中的每个字母。

在多次输入句子后,Roy厌倦了它,因此他开始寻找其他的人物。

给定一个句子,请确定它是否是Pangram。忽略大小写。

如果输入字符串是Pangram,则应返回字符串pangram。否则,它不应返回pangram。

样本输入

我们迅速判定古董象牙带扣获得下一个奖项

// pangram

我们迅速判断了古董象牙带扣的价格

//不是pangram(缺少字母x)

function pangrams(s) {

   const exp = /[a-z]/gi; 

   if (s.includes(exp)) {
     return 'pangram';
   } else {
     return 'not pangram';
   } 
   
}

TypeError:String.prototype.includes的第一个参数不能为正则表达式

如果我正确解决了问题,如何在仍能使用正则表达式的情况下解决此问题?

一定的表现

您的正则表达式是错误的。它只会检查字符串是否包含到的一个字母您还没有正确测试它-检查子字符串是否包含在较大的字符串中,而不是用于正则表达式验证。azString.prototype.includes

如果要测试正则表达式是否与字符串匹配,请使用.test要检查带有正则表达式的字符串中是否所有字母都存在,您必须(?=.*a)对每个字符重复,例如:

const pattern = /^(?=.*a)(?=.*b)(?=.*c)(?=.*d)(?=.*e)...../i;
return s.test(pattern);

但这确实很丑陋且重复。

我不认为正则表达式是解决问题的方法。考虑遍历字符代码以将字符从A转换为Z,并.includes改为使用

const test = (str) => {
  const strUpper = str.toUpperCase();
  // start at A
  for (let i = 65; i <= 90; i++) {
    if (!strUpper.includes(String.fromCharCode(i))) {
      return false;
    }
  }
  return true;
};
console.log(test('The quick brown fox jumps over the lazy dog'));
console.log(test('The quick brown fox jumps over the lazy do'));

如果必须使用正则表达式,则可以通过遍历所有字符代码来动态构造它:

const test = (str) => {
  const pattern = new RegExp(
    '^' +
    Array.from(
      { length: 26 },
      (_, i) => `(?=.*${String.fromCharCode(i + 65)})`
    ).join(''),
    'i'
  );
  return pattern.test(str);
};
console.log(test('The quick brown fox jumps over the lazy dog'));
console.log(test('The quick brown fox jumps over the lazy do'));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用正则表达式检查字符串中的重复字符?

来自分类Dev

如何使用正则表达式检查字符串中的序列

来自分类Dev

使用正则表达式检查字符串中的条件

来自分类Dev

检查字符串的正则表达式以

来自分类Dev

C中的正则表达式,检查字符串是否包含特定字符

来自分类常见问题

检查字符串是否与Bash脚本中的正则表达式匹配

来自分类Dev

布尔检查字符串是否与ruby中的正则表达式匹配?

来自分类Dev

JavaScript检查字符串是否包含正则表达式中的任何单词

来自分类Dev

正则表达式检查字符串中的3个相同字母?

来自分类Dev

python正则表达式检查字符串中单词的开始和结束

来自分类Dev

检查字符串是否与python中的正则表达式完全匹配

来自分类Dev

使用正则表达式检查字符串以获取有效的CSS

来自分类Dev

使用正则表达式检查字符串“是” javascript代码

来自分类Dev

使用正则表达式检查字符串是否以数字开头

来自分类Dev

使用流星匹配和正则表达式检查字符串

来自分类Dev

使用正则表达式检查字符串以获取有效的CSS

来自分类Dev

使用正则表达式检查字符串“是” javascript代码

来自分类Dev

使用正则表达式检查字符串的子序列

来自分类Dev

使用正则表达式检查字符串的开头是否与模式匹配

来自分类Dev

使用正则表达式检查字符串结尾在Java中是否有效

来自分类Dev

如何使用正则表达式检查字符串是否匹配Oracle中的多个条件?

来自分类Dev

在iOS中如何使用布尔结果对正则表达式检查字符串

来自分类Dev

使用多个正则表达式检查字符串中是否存在列入黑名单的模式

来自分类Dev

Ansible-使用正则表达式检查字符串是否存在于文件中

来自分类Dev

在iOS中如何使用布尔结果对正则表达式检查字符串

来自分类Dev

正则表达式检查字符串是否包含指定字符以外的字符

来自分类Dev

不包含\> <的检查字符串检查的正则表达式

来自分类Dev

不包含\> <的检查字符串检查的正则表达式

来自分类Dev

驼峰式正则表达式检查字符串,不含非字符符号

Related 相关文章

  1. 1

    如何使用正则表达式检查字符串中的重复字符?

  2. 2

    如何使用正则表达式检查字符串中的序列

  3. 3

    使用正则表达式检查字符串中的条件

  4. 4

    检查字符串的正则表达式以

  5. 5

    C中的正则表达式,检查字符串是否包含特定字符

  6. 6

    检查字符串是否与Bash脚本中的正则表达式匹配

  7. 7

    布尔检查字符串是否与ruby中的正则表达式匹配?

  8. 8

    JavaScript检查字符串是否包含正则表达式中的任何单词

  9. 9

    正则表达式检查字符串中的3个相同字母?

  10. 10

    python正则表达式检查字符串中单词的开始和结束

  11. 11

    检查字符串是否与python中的正则表达式完全匹配

  12. 12

    使用正则表达式检查字符串以获取有效的CSS

  13. 13

    使用正则表达式检查字符串“是” javascript代码

  14. 14

    使用正则表达式检查字符串是否以数字开头

  15. 15

    使用流星匹配和正则表达式检查字符串

  16. 16

    使用正则表达式检查字符串以获取有效的CSS

  17. 17

    使用正则表达式检查字符串“是” javascript代码

  18. 18

    使用正则表达式检查字符串的子序列

  19. 19

    使用正则表达式检查字符串的开头是否与模式匹配

  20. 20

    使用正则表达式检查字符串结尾在Java中是否有效

  21. 21

    如何使用正则表达式检查字符串是否匹配Oracle中的多个条件?

  22. 22

    在iOS中如何使用布尔结果对正则表达式检查字符串

  23. 23

    使用多个正则表达式检查字符串中是否存在列入黑名单的模式

  24. 24

    Ansible-使用正则表达式检查字符串是否存在于文件中

  25. 25

    在iOS中如何使用布尔结果对正则表达式检查字符串

  26. 26

    正则表达式检查字符串是否包含指定字符以外的字符

  27. 27

    不包含\> <的检查字符串检查的正则表达式

  28. 28

    不包含\> <的检查字符串检查的正则表达式

  29. 29

    驼峰式正则表达式检查字符串,不含非字符符号

热门标签

归档