没有直接等价物
但是,您始终可以使用
.
\K
运算符及其限制,您将看到可以将此模式替换为
捕获组
看见
rexegg.com
\K
reference
:
\K
\K
\K
\K
可以放置在模式中的任何位置,因此您可以在
\K
然而
\K
仍然是
,即正则表达式引擎将匹配的文本与匹配值相加
在匹配模式的同时,以及
只从匹配中删除匹配的文本,并将索引保留在其所在位置。这意味着
\K
不比抓取群组好多少。
value\s*=\s*\K\d+
PCRE/ONIGOM模式将转换为以下Java代码:
String s = "Min value = 5000 km";
Matcher m = Pattern.compile("value\\s*=\\s*(\\d+)").matcher(s);
if(m.find()) {
System.out.println(m.group(1));
}
constrained width lookbehind
:
Java接受lookbehind中的量词,只要匹配字符串的长度在预先确定的范围内。例如,
(?<=cats?)
有效,因为它只能匹配三个或四个字符的字符串。同样地
(?<=A{1,10})
因此,这也会起作用:
m = Pattern.compile("(?<=value\\s{0,10}=\\s{0,10})\\d+").matcher(s);
if(m.find()) {
System.out.println(m.group());
}
Java demo
.