首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >匹配N-NN-NN的正则表达式

匹配N-NN-NN的正则表达式
EN

Stack Overflow用户
提问于 2014-05-16 12:58:06
回答 3查看 1.4K关注 0票数 0

我需要一些RegEx模式匹配的帮助。

如果我想要匹配,该如何编写正则表达式?

代码语言:javascript
运行
复制
N-NN-N-NN-NN-N-NNN

但同时也

代码语言:javascript
运行
复制
N-NN-NN-NN

例外:

10件-棘轮扳手组合扳手6-8-10-11-12-13-14-15-17-19 Cr-v,加热12 4dr 1/4 4dr 4-4.5-5-5.5-6-7-8-9-10-11-12-13 Cr-v,加热17 4dr 1/2 4dr 10-11-12-13-14-15-16-17-18-19-20-21-22-23-24-27-30 Cr-v,加热1-2-33 Cr-V加热器1-2-1-4

它需要匹配它们在总字符串中至少是2 -的位置。所以像020-11223344这样的电话号码是而不是

字符串几乎总是类似于这个6-8-10-11-12-13-14-15-17-19,除了有时.可以在数字之前附加,它们的长度也不同,有可能吗?

到目前为止,我想出了这个问题,但它在电话号码上也是匹配的,当一个.出现时,它就完全匹配了。

代码语言:javascript
运行
复制
(\d-[^>])

在这个页面上,您可以找到不同的模式:http://www.cazoom.nl/en/partij-aanbod/186-pcs-working-tools-trolly-3

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-16 13:12:30

那么这个模式呢:

代码语言:javascript
运行
复制
[\d.]+(?:-[\d.]+){2,}

匹配[\d.]+ (如果后面至少有2 x -[\d.]+ )

(?:使用非捕获组进行重复。

regex101测试

票数 3
EN

Stack Overflow用户

发布于 2014-05-16 13:13:52

下面的正则表达式将与此匹配。

代码语言:javascript
运行
复制
(?:\.?\d\.?\d?-){2,}\.?\d\.?\d?

Debuggex Demo

票数 2
EN

Stack Overflow用户

发布于 2014-05-16 13:00:36

只需尝试使用以下正则表达式:

代码语言:javascript
运行
复制
^\d-\d{2}-\d(\d-\d{2})|(\d-\d{2}-\d-\d{3})$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23695575

复制
相关文章

相似问题

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