javascript - RegExp 脱字符匹配但不应该

标签 javascript regex

给定以下测试(在 Javascript 正则表达式中):

    /[^A-Z^a-z]/.test('^')

返回值为false。为什么?

最佳答案

是的,它正确返回。您还在否定字符类中包含了 ^

not of ^ == ^
=> false

只需删除位于字符类中间的 ^ 即可返回 true。请注意,字符类中间或最后一个未转义或转义的 ^ 将匹配文字胡萝卜符号 ^。对于否定字符类 [^..],它做相反的事情。

> /[^A-Z^a-z]/.test('^')
false
> /[^A-Za-z]/.test('^')
true

关于javascript - RegExp 脱字符匹配但不应该,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29185422/

相关文章:

javascript - 无法从 onclick 事件调用 JS 函数

javascript - Safari 中通过 iframe 的 Flash 正在中断

javascript - 当我不处于兼容模式时,JQuery 在 IE 中表现得很奇怪

python - 正则表达式从日志文件中查找组和匹配项

mysql - 从 Redshift 上的字符串中排除字母字符

javascript - 使用当前日期作为条件从 firebase 检索数据

javascript - 为什么要使用命名函数表达式?

javascript - 将方括号拆分为逗号,删除第一个和最后一个逗号

javascript - 使用正则表达式拆分的字符串以 >=|<=|=|<|>|\!= 和字符串加增量值

str_detect 中的正则表达式?