如何使用正则表达式

时间:2016-02-21 23:19:25

标签: regex

例如(6:31,23:03)我想提取第一个数字6,然后下一次我要提取31,最后是23和03之后。 31我使用\ d + [^ :) 0-9]但它也抓取逗号。对于03我使用了\ d + [^:,0-9] 但是这个抓住了支架。那么当时每次只抓一个数字(这意味着四个正则表达式总数,每个数字一个)? 这是文本的模板外观(6:31,23:03),只有数字改变0-99

1 个答案:

答案 0 :(得分:1)

这样的事情让人想到:\((\d+):(\d+), (\d+):(\d+)\)。它使用四个捕获组一次捕获每个数字集群。 (您可以将\d+替换为\d{1,2},以更严格地限制数字群集在长度1和2之间。)

演示:https://regex101.com/r/aG2uW2/1

编辑以解决评论

似乎有点不清楚确切的要求是什么,但如果我理解你想要四个正则表达式,每个都会一次捕获一个数字集群,那么它们看起来像这样:

  • \((\d+):\d+, \d+:\d+\)
  • \(\d+:(\d+), \d+:\d+\)
  • \(\d+:\d+, (\d+):\d+\)
  • \(\d+:\d+, \d+:(\d+)\)