gpt4 book ai didi

regex - 从日志文件中提取号码

转载 作者:行者123 更新时间:2023-12-03 01:13:04 27 4
gpt4 key购买 nike

我正在尝试从日志文件中提取一个数字,该文件输出这样的文本行:

1/11/2016 3:26:12 AM 1/11/2016 3:27:00 AM 45.6 A

该线的输出为45.6 A

但是,我的Regex代码从凌晨3:26:12返回12A。我需要它完全忽略时间数字,而只输出45.6A。

这是我的Regex代码:
$regex = '\d+(?:\.\d+)?(?=\s+A)'

最佳答案

您只是忘了将lookheadhead anchor 定在字符串的末尾:

\d+(?:\.\d+)?(?=\s+A$)
^

regex demo
\d+(?:\.\d+)?将匹配一个或多个数字(可选),然后是 .,然后是一个或多个数字(浮点值),并且 (?=\s+A$)前瞻将要求一个或多个空格字符,在字符串的末尾带有 A,以在浮点后出现值。
$s = '1/11/2016 3:26:12 AM 1/11/2016 3:27:00 AM 45.6 A'
$rx = '\d+(?:\.\d+)?(?=\s+A$)'
$result = [regex]::Match($s, $rx, 'RightToLeft')
if ($result) { $result.Value; }

enter image description here

关于regex - 从日志文件中提取号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35501792/

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