正则表达式仅匹配键字符串后的第一次出现

Regex match only first occurrence after key string

正则表达式:

(?<=KEY.{1,99})([0-9]*)

示例文本:

test 74488 hdhd2 768 788 KEY bla gjjjcrs 6448. gfudj778. 2 bla 77545 77890 7754

想要的结果:

6448

我只需要 KEY 后数字组的第一个匹配项。我可以让正则表达式在第一个数字组出现后停止搜索以减少 CPU 负载吗?或者我不需要它?

使用:(.*) (KEY) ([^0-9]*)(\d+)

Demo

如果只想匹配KEY后面的数字:(?:.* KEY) (?:[^0-9]*)(\d+)

您可能想试试这个:

KEY.*?(\d+)

演示 here.