首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式,用于检查除特定数字以外的任何4位或更多数字

正则表达式,用于检查除特定数字以外的任何4位或更多数字
EN

Stack Overflow用户
提问于 2020-10-07 17:10:53
回答 1查看 28关注 0票数 0

客户要求正则表达式检查任何大于999的数字,以提醒添加一千个分隔符,例如1000,但是他们不希望在通常提到的年份(2019,2020,2021)等情况下获得误报。有什么方法可以实现这一点,即“除了这些特定数字之外,任何4位或更多数字”?

我已经考虑过下面的内容,但这将忽略第一个数字是2的任何数字,因此将忽略2000-2999以及20,000,2,000,000等之间的任何数字,这肯定需要添加1000个分隔符。

代码语言:javascript
复制
[1|3-9]\d{3,}

这真的可以用正则表达式来完成吗?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-10-07 17:33:40

使用[1|3-9]\d{3,}不会匹配2,但也会在21234中提供部分匹配

请注意,您可以省略|,因为它将在character类中逐字匹配它。

在匹配4位或更多数字之前,如果支持,您可以使用否定先行断言,直接位于右侧的不是2019、2020或2021

在开始时,您可以添加一个单词边界或例如一个锚点^来断言字符串的开始。

代码语言:javascript
复制
\b(?!20(?:2[01]|19)\b)\d{4,}

Regex demo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64240866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档