正则表达式更喜欢第二组

时间:2017-04-06 09:33:21

标签: regex

假设我有以下2个字符串:

  

' 506'   ' 1008'

我想从字符串中提取5和06,从第二个中提取10和08。我想出了以下正则表达式:

(\d{1,2})(\d{1,2})

这匹配50和6以及10和08.这不完全是我想要的。我需要匹配5和06而不是50和6.我如何表示我希望第二组获得更高的长度?

1 个答案:

答案 0 :(得分:1)

您可以使用单词边界包装模式,并将2位数字准确地捕获到第2组:

\b(\d{1,2})(\d{2})\b

请参阅regex demo

  • \b - 初始字边界
  • (\d{1,2}) - 第1组捕获一个或两个数字
  • (\d{2}) - 第2组正好匹配2位数
  • \b - 尾随字边界。