gpt4 book ai didi

JavaScript 正则表达式模式 - 困惑

转载 作者:行者123 更新时间:2023-12-02 20:00:58 27 4
gpt4 key购买 nike

我正在将 XSLT 与 regexp:match exslt 函数一起使用。上述函数采用 JavaScript Regex 模式。因此,我尝试匹配一组数字 1 到 3 OR 5 到 7 OR 9 到 23。

以下是我提出的正则表达式模式:

(^[1-3]$|^[5-7]$|^[9-23]{1,2}$)

此正则表达式根本不与任何值匹配。遵循替代模式仅在一定程度上有好处:

(^[1-3]$|^[5-7]$|^9$|^[10-23]{2}$)

虽然这与所有其他预期数值匹配,但 14 到 19 除外。为什么会这样以及如何使正则表达式变得更好。顺便说一句,我正在使用 http://www.regextester.com/测试模式匹配。

谢谢。

最佳答案

方括号包含字符,而不是字符串。试试这个:

^([1-35-79]|1[0-9]|2[0-3])$

编辑:测试过,它有效。

var str="";
for (var i=0; i<30; i++) {
if (/^([1-35-79]|1[0-9]|2[0-3])$/.test(i+"")) str+=i+' '
}
console.log(str);

打印

1 2 3 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

关于JavaScript 正则表达式模式 - 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013412/

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