首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用regex查找数字的第n个匹配项

使用regex查找数字的第n个匹配项
EN

Stack Overflow用户
提问于 2016-06-10 23:06:12
回答 1查看 11.8K关注 0票数 6

我正在尝试编写一个正则表达式,它可以找到数字匹配的第n次出现(其中N是一个可以在for循环中递增的数字)。我可以让正则表达式成功地匹配一个数字,但是我不能让它匹配序列中的特定数字。我使用的正则表达式是([0-9]+){2}

我要做的是从一个字符串中挑选出数字,比如:红,12,绿,5,蓝,6

我希望正则表达式的{n}部分可以实现这一点,但是当我将这个数字设置为2时,它并没有像预期的那样选择数字5,而是选择了12中的2,当我将数字设置为3时,它根本找不到匹配项。有没有人能提供一些关于我做错了什么的见解?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-10 23:10:42

您可以使用此正则表达式来选取Nth编号:

代码语言:javascript
运行
复制
(?:\D*(\d+)){2}

2替换为所需的任意数字。您的号码在捕获的组#1中可用

  • \D匹配任何与数字匹配的数字

RegEx Demo

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

https://stackoverflow.com/questions/37751545

复制
相关文章

相似问题

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