gpt4 book ai didi

javascript - 匹配捕获组或在 Javascript 正则表达式中丢失时匹配失败

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

我正在尝试获取一个数字 (5),然后是可能的 -(空格),然后是 3 位数字的序列,最后跟一个数字。如果第一组根本不匹配,则只返回其他数字序列。

^(5\-? ?)?(\d{3})(\d)$

这在我看来是正确的,不会抛出任何错误,但它返回了 5:

"5489" -> ()("548")("9")

我实际上不希望此表达式返回此模式的匹配项。

所以快速搜索让我找到了所有格表达和很多关于你前任的文章。从我正在阅读的内容来看,这看起来应该有效:

^(5\-? ?)?+(\d{3})(\d)$

但是 Javascript 喜欢将其作为正则表达式。

有没有办法在 Javascript 中做一个贪婪的所有格捕获组,或者在这种情况下模拟它?

最佳答案

您可以利用环视特性来模拟所有格量词功能:

^(?=(...))\1

正则表达式:

^(?=((5\-? ?)?))\1(\d{3})(\d)$

Live demo

关于javascript - 匹配捕获组或在 Javascript 正则表达式中丢失时匹配失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44767526/

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