gpt4 book ai didi

JavaScript 正则表达式 1-10

转载 作者:行者123 更新时间:2023-12-03 04:08:24 26 4
gpt4 key购买 nike

我正在尝试获取一个可以从 1 到 10 的正则表达式,但我遇到了麻烦

我已经尝试过:

/^[1-9]|10$/ //this will matches out 1-9 but not 10
/^10|[1-9]$/ //this will matches 10 but no 1-9 digits

我感觉很奇怪,因为我以前见过这个问题,人们说这两种表达方式都应该有效。有什么其他方法可以得到 1-10 中的任何 # 吗?

最佳答案

假设您想要匹配一个包含数字 1-10 的字符串,而没有其他内容,那么您可以使用 /^[1-9]|10$/。这里的问题是交替 | 包含 ^$ 字符,即该表达式将匹配 ^[1-9 ](任何以 1–9 开头的字符串)或10$`(任何以 10 结尾的字符串)。括号巧妙地解决了这个问题:

/^([1-9]|10)$/

查看下面的实际操作:

const regex = /^([1-9]|10)$/gm; // `gm` flags for demo only; read below
const str = `1
2
3
4
foo
5
6
7
8
9
10`;

let m;
while (m = regex.exec(str)) {
console.log('Found match:', m[0]);
}
.as-console-wrapper{min-height:100%}

该代码段使用 gm 标志来查找多行中的所有匹配项。 m 使 ^$ 匹配每行的开头和结尾,而不是字符串的开头和结尾。对于您的用例,您可能不需要任何一个标志。

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

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