首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果数组中的数字在某个范围内,如何与正则表达式匹配?

如果数组中的数字在某个范围内,如何与正则表达式匹配?
EN

Stack Overflow用户
提问于 2019-03-28 18:40:10
回答 2查看 49关注 0票数 1

我需要使用正则表达式检查条目的第二部分是否在某个范围内。该条目将是例如:"25-2000“。所以第一个数字和连字符并不重要。

我已经用表达式获取了条目的第二部分:

代码语言:javascript
运行
复制
[^-]*$

我想用下面的表达式来计算这个数字是否在1700-2100的范围内:

代码语言:javascript
运行
复制
(^(1[7-9][0-9][0-9]|20[0-9][0-9]|2100)$)

我尝试用括号将这两个表达式连接起来,但不起作用:

代码语言:javascript
运行
复制
([^-]*$)(^(1[7-9][0-9][0-9]|20[0-9][0-9]|2100)$)
EN

回答 2

Stack Overflow用户

发布于 2019-03-28 18:47:02

在与数字匹配的模式前放置一个-

代码语言:javascript
运行
复制
-((?:1[7-9]|20)\d\d|2100)$
票数 0
EN

Stack Overflow用户

发布于 2019-03-28 18:47:25

您可以使用此模式:

代码语言:javascript
运行
复制
-(?:1[789]\d\d|20\d\d|2100)$

如果它匹配任何内容,则该数字在1700-2100范围内。

实际上,您不需要组合这两种模式,也不应该通过添加括号来盲目地组合模式。

Demo

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

https://stackoverflow.com/questions/55395539

复制
相关文章

相似问题

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