如何匹配“在匹配组之前尽可能多地匹配”?

时间:2019-01-18 16:24:23

标签: regex regex-group

考虑字符串

hello world something 12345 somethingelse

我知道我将有hello,然后是除数字以外的一些字符(如果有帮助,我可以列出它们),然后是一组数字。我想匹配这组数字。

如果我知道hello和数字之间是什么,我将使用.*hello\sworld\s(\d*)\s作为匹配字符串。

是否可以说“匹配hello之后的数字组(hello之后仅是非数字字符,直到找到的组为止)” < / em>?(介于贪婪匹配和惰性匹配之间)

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

hello\D+(\d+)

位置:

  • \D+匹配hello后匹配1+个非数字
  • (\d+)匹配1个以上的数字并将其捕获在#1组中