gpt4 book ai didi

由于 .*,正则表达式匹配流在一起

转载 作者:行者123 更新时间:2023-12-04 05:45:22 25 4
gpt4 key购买 nike

我正在尝试将主机与此文件分开,但我的正则表达式将两个主机一起选择:

timestamps|||scan_start|Tue May  1 23:00:29 2012|timestamps||foo.com|host_start|Tue May  1     23:16:51 2012|results|-0017\ntimestamps||foo.com|host_end|Tue May  1 23:19:17     2012|timestamps||bar.com|host_start|Tue May  1 23:24:31 2012|results|general/tcp|Sendmail 8.13.8\n\n\ntimestamps||bar.com|host_end|Tue May  1 23:29:11 2012|timestamps|||scan_end|Wed May  2 00:19:40 2012|

正则表达式:
timestamps\|\|[\w,\.]*\|host_start.*host_end

最佳答案

让星星变得懒惰:

timestamps\|\|[\w,.]*\|host_start.*?host_end
.*是“贪婪的”,尽可能多地匹配。 .*?是“懒惰的”并尽可能少地匹配以实现匹配。因此它只会匹配到最接近的 host_end直到最后一个。

此外,无需转义字符类中的点。你真的想在字符类中允许逗号吗,或者你的意思是 [\w.]* ?

关于由于 .*,正则表达式匹配流在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10744842/

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