gpt4 book ai didi

Javascript 正则表达式在不应该的情况下匹配逗号

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

我无法弄清楚 Firefox 7.0.1 和 Google Chrome 14.0.835.202 中出现的这个 javascript 小问题(我没有测试过任何其他版本)。为什么 /[+-.]/g 除了匹配加号 (+)、破折号 ( -) 和句点 (.)?

// Firebug
>>> "Hello, World++--..".match(/[+-.]/g);
[",", "+", "+", "-", "-", ".", "."]
>>> "Hello, World".match(/[+-.]/g);
[","]

// Chrome Developer Tools:
> "Hello, World++--..".match(/[+-.]/g);
[",", "+", "+", "-", "-", ".", "."]
> "Hello, World".match(/[+-.]/g);
[","]

好吧,也许我需要转义句点 (.)

// Firebug
>>> "Hello, World!".match(/[+-\.]/g);
[","]

// Chrome Developer Tools
> "Hello, World!".match(/[+-\.]/g);
[","]

没有。但是,如果我更改加号 (+) 和破折号 (-) 的顺序,它就会停止匹配逗号 (,)。

// Firebug
>>> "Hello, World".match(/[-+.]/g);
null

// Chrome Developer Tools
> "Hello, World".match(/[-+.]/g);
null

这对我来说毫无意义。 Firefox 和 Chrome 共享相同的正则表达式错误似乎很奇怪。有谁知道这是为什么?

最佳答案

使用[+\-.]

- 屏蔽一个范围并且必须转义。

关于Javascript 正则表达式在不应该的情况下匹配逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com