首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使舵匹配n次

使舵匹配n次
EN

Stack Overflow用户
提问于 2021-06-18 08:07:33
回答 1查看 454关注 0票数 2

为了匹配这些例子:

代码语言:javascript
复制
1-10-1
1-7-3
10-8-5
1-7-14
11-10-12

这个regex起作用:

代码语言:javascript
复制
^[\\d]{1,2}-[\\d]{1,2}-[\\d]{1,2}$

怎么才能用一种与"[\d]{1,2}-?“这样的东西相匹配的方式写三次呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-18 08:43:07

你可以使用:

代码语言:javascript
复制
^\d\d?(?:-\d\d?){2}$

请看在线演示

  • ^ -启动线锚.
  • \d\d? -一个单数,后面跟着一个可选的数字(与\d{1,2}相同)。
  • (?:-\d\d?){2} -一个以连字符开头的非捕获组,后面跟着与上面相同的构造,一个或两个数字。捕获组被重复了两次。
  • $端字符串锚.

这里的想法是避免在您所做的尝试中使用可选的连字符,因为基本上您将开始允许"123“和"123456”这样的完全不同的东西。更合适的方法是匹配分隔字符串的第一个元素,然后使用非捕获组来匹配分隔符和其他所需的元素,确切地说是n-1时间。

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

https://stackoverflow.com/questions/68031602

复制
相关文章

相似问题

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