gpt4 book ai didi

java - 为什么这种积极的回顾不起作用?

转载 作者:太空宇宙 更新时间:2023-11-04 07:28:52 24 4
gpt4 key购买 nike

我有这个字符串(这只是一个较大字符串的剪切部分):

00777: 50.000 bit/s

并且想要捕获 50.000 bit/s 的部分我创建了一个正向的后向正则表达式,如下所示:

(?<=\d{5}: )\S+\s+\S+

这是可行的,但是当 : 和数字之间有更多空格时,它就不会像预期的那样了。

所以我这样做了:

(?<=\d{5}:\s+)\S+\s+\S+

但这不起作用?!为什么?即使这个表达式也不匹配任何字符串:

(?<=\d{0,5}).*

我在这里缺少什么?

最佳答案

这是因为许多正则表达式引擎不支持lookbehind中的量词(+,*,?)。

示例:javajavascript

编辑

由于您使用的是Java,因此可以使用组

Matcher m=Pattern.compile("\\d{5}:\\s+(\\S+\\s+\\S+)").matcher(input);
if(m.find())
value=m.group(1);

关于java - 为什么这种积极的回顾不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18079172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com