gpt4 book ai didi

java - 正向lookbehind正则表达式明显的最大长度

转载 作者:行者123 更新时间:2023-11-30 03:06:36 25 4
gpt4 key购买 nike

所以我一直在尝试使用正则表达式来解析以下字符串:

INFO: Device 6: Time 20.11.2015 06:28:00 - [Script] FunFehlerButton: Execute [0031 text]    
and
INFO: Device 0: Time 09.12.2015 03:51:44 - [Replication] FunFehlerButton: Execute
and
INFO: Device 6: Time 20.11.2015 06:28:00 - FunFehlerButton: Execute

我尝试使用的正则表达式是:

(?<=\\d{1,2}:\\d{2}:\\d{2} - ).*    

(?<=\\[\\w*\\]).*    

其中第一个运行正确,第二个则出现异常。

我的目标是获取文本“FunFehlerButton:执行...”。

我希望有人能提示我正确的方向。

最佳答案

仅当大小有限并且lookbehind中的子模式不太复杂时,Java才支持可变长度lookbehind。

简而言之,你不能写:

(?<=\\[\\w*\\]).*

但是你可以写:

(?<=\\[\\w{0,1000}\\]).*

但是类似:

(?<=\\[(?:\\w{0,2}){0,500}\\w?\\]).*

不起作用,因为最大长度不明显。

关于java - 正向lookbehind正则表达式明显的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34616478/

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