只能匹配到正好三个连续的数字,少一个数字或者多一个都不可以。比如,
"123" // 返回 123
"123u" // 返回 123
"u123" // 返回 123
"x123y" // 返回 123
"1234" // 返回空
"x1234y" // 返回空
"12" // 返回空
123y456 // 返回 123 和 456
用正则怎么实现啊?我写的 "[^0-9]*[0-9]{3}[^0-9]*"
不对,实在想不出了,有大兄弟支支招么?
只能匹配到正好三个连续的数字,少一个数字或者多一个都不可以。比如,
"123" // 返回 123
"123u" // 返回 123
"u123" // 返回 123
"x123y" // 返回 123
"1234" // 返回空
"x1234y" // 返回空
"12" // 返回空
123y456 // 返回 123 和 456
用正则怎么实现啊?我写的 "[^0-9]*[0-9]{3}[^0-9]*"
不对,实在想不出了,有大兄弟支支招么?
使用非数字或边界限制
const re = /(?:\D|\b)(\d{3})(?:\D|\b)/
console.log("123".match(re)?.[1]) // 返回 123
console.log("123u".match(re)?.[1]) // 返回 123
console.log("u123".match(re)?.[1]) // 返回 123
console.log("x123y".match(re)?.[1]) // 返回 123
console.log("1234".match(re)?.[1]) // 返回空
console.log("12".match(re)?.[1]) // 返回空
2 回答10.4k 阅读✓ 已解决
1 回答9.5k 阅读✓ 已解决
2 回答5.1k 阅读✓ 已解决
2 回答3.5k 阅读✓ 已解决
3 回答3k 阅读✓ 已解决
3 回答4.4k 阅读
5 回答2.1k 阅读
根据更新后的条件(
Python
、多组数字),答案更改为:输出:
这样?输出: