javascript - 正则表达式中的感叹号

标签 javascript jquery regex

<分区>

在使用正则表达式时,我发现了一个问题。任何人都可以为以下情况给出适当的理由

场景一

var regExp=/^[a-zA-Z0-9!-@#$^_:,. ]$/;
regExp.test('<')// True

场景 2

var regExp=/^[a-zA-Z0-9-!@#$^_:,. ]$/;
regExp.test('<')// false

感叹号在正则表达式中的位置发生了变化。

最佳答案

第一个正则表达式

var regExp=/^[a-zA-Z0-9!-@#$^_:,. ]$/;

!-@匹配字符范围。根据ASCII它包含的值 <

原因

  • a-z - 火柴az字符
  • A-Z - 火柴AZ字符
  • 0-9 - 火柴09字符
  • !-@火柴!@人物
  • #$^_:,.将匹配字符

第二个正则表达式

var regExp=/^[a-zA-Z0-9-!@#$^_:,. ]$/;

-正常工作 -字符则此正则表达式不匹配 <

原因

  • a-z - 火柴az字符
  • A-Z - 火柴AZ字符
  • 0-9 - 火柴09字符
  • -!@#$^_:,.将匹配字符。

希望你明白了

关于javascript - 正则表达式中的感叹号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47939244/

相关文章:

javascript - 内部 CSS 不会覆盖外部 CSS(api google)...为什么?

javascript - 由于自定义插件,show() 未定义

PHP 分割和空格

java - 合并正则表达式中的两个条件

表单的正则表达式模式匹配验证在 ant.design 中不起作用

javascript - 使变量值为正

javascript - 需要时重新应用过滤器

javascript - 有没有一种方法可以强类型化类型为 'any' 的对象的属性

JQuery 滚动 li id 到 div 顶部

jquery - 在禁用的文本区域上添加点击事件(jquery + ui)