首页 > 解决方案 > 如何匹配此字符串中的一个或两个连续(并将它们分组)数字:-4-45- 或 -15-25-03-

问题描述

我是正则表达式的新手。我试图了解它是如何工作的。但似乎无法匹配字符串上的单个或多个数字并将它们作为组获取,我只能让它匹配单个数字。

我试图让它在这两个字符串中工作:-4-45--15-25-03-

我使用这个在线工具对其进行测试:https ://regex101.com/

我曾尝试使用:

\-([0-9]*?)\- 

但它只获得前四个作为匹配项。

\-([0-9]{0,4})\-

没有得到任何匹配,我在括号中指定长度。

\-([0-9]|[0-9][0-9])\-

与第一个相同,仅适用于第一个数字,我想我不明白“OR”是如何工作的。

这是带有一些结果的屏幕截图: https ://prnt.sc/napafa

预期结果:-4-45-

第 1 组:4

第 2 组:45

对于第二个字符串:-15-25-03-

第 1 组:15

第 2 组:25

第三组:03

希望你能帮助我,我一直在看一些教程,我让它与文本一起工作,但我认为我缺少数字的东西。

标签: regex

解决方案


推荐阅读