代码之家  ›  专栏  ›  技术社区  ›  WoJ

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

  •  1
  • WoJ  · 技术社区  · 6 年前

    考虑字符串

    hello world something 12345 somethingelse
    

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

    如果我知道 你好 数字,我会用 .*hello\sworld\s(\d*)\s 作为匹配字符串。

    有办法说吗 “匹配后面的数字组 你好 (那个 你好 后面只有非数字字符,直到所查找的组为止。“ ? (在贪婪和懒惰之间)

    1 回复  |  直到 6 年前
        1
  •  1
  •   anubhava    6 年前

    您可以使用此regex:

    hello\D+(\d+)
    

    哪里:

    • \D+ 匹配后匹配1+个非数字 hello
    • (\d+) 匹配1+位数字并将其捕获到组1中