【问题标题】:How to match "as much as possible until the group is matched"?如何匹配“尽可能匹配直到组匹配”?
【发布时间】:2019-06-12 22:44:39
【问题描述】:

考虑字符串

hello world something 12345 somethingelse

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

如果我知道hello 和数字之间的内容,我会使用.*hello\sworld\s(\d*)\s 作为匹配字符串。

有没有办法说“匹配hello 之后的数字组(hello 后面只有非数字字符,直到寻找的组)”(介于贪婪和懒惰之间的匹配)

【问题讨论】:

  • 使用:hello\D+(\d+)
  • @anubhava 啊,就是这么简单!非常感谢你。如果你不介意把它变成一个答案,我很乐意接受。

标签: regex regex-group


【解决方案1】:

你可以使用这个正则表达式:

hello\D+(\d+)

地点:

  • \D+ 匹配 hello 后匹配 1+ 个非数字
  • (\d+) 匹配 1+ 位并在 #1 组中捕获它

【讨论】:

    猜你喜欢
    • 2016-01-17
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多