正则表达式在不应该匹配的时候却匹配了

问题描述 投票:0回答:1

const regex1 = /(1( )?)?(\d{3}) \d{3}-\d{4}/; JavaScript。 对于那些了解正则表达式的人。我想检查 1 (555)555-5555 是否匹配,但它不应该匹配。因为第一个分隔符是反向引用的,所以第二个分隔符应该等于第一个分隔符,但在我的例子中,它不是。为什么仍然返回true?有谁知道吗

我与ais交谈,在网上搜索但无济于事。我没有得到预期的结果,只有当第一个分隔符等于第二个分隔符时才会发生匹配,其中包括两个分隔符可能不存在的情况。

javascript regex
1个回答
0
投票

我发现,因为我没有要求它从带有胡萝卜符号的字符串开头开始,所以它只是匹配 (1 ) 之后的部分,因为这部分是可选的。一直以来我都假设它与整个事情相匹配。

© www.soinside.com 2019 - 2024. All rights reserved.