gpt4 book ai didi

javascript - 为什么这个 reg exp 总是对数字成功?

转载 作者:行者123 更新时间:2023-11-30 09:07:50 27 4
gpt4 key购买 nike

我有一个搜索特殊字符的正则表达式。

当我搜索数字时,例如3,当我期望得到 -1 时,我总是得到 0。

'3'.search(/[!\"£\$%\^&\*\(\)-_\+=\[\]\{\};:@\'#\\|<,\.>\/\?]/)

知道为什么会这样吗?

最佳答案

\)-_

这会导致字符类包含 )_ 之间的所有字符,即 )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_3 在其中之一。

- 应该放在开头或结尾,这样才不会被算作特殊字符。此外,除了 \[]/ 之外,无需转义字符类中的任何内容。

/[-!"£$%^&*()_+=\[\]{};:@'#\\|<,.>\/?]/

(技术上 [ 也不需要转义,但为了一致性我更喜欢转义它。另外,如果你转义它 - ,你可以在中间匹配一个 \- 。)

关于javascript - 为什么这个 reg exp 总是对数字成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3395465/

27 4 0