gpt4 book ai didi

python - 正则表达式:忽略空格并匹配下一个数字

转载 作者:行者123 更新时间:2023-11-28 20:02:04 37 4
gpt4 key购买 nike

我的正则表达式通过这段代码获取 Jan 26 00:00:15:

re.search(r'^(\w{3} \d{2} \d{2}:\d{2}:\d{2})', line).group(0)

字符串:

Jan 26 00:00:15 111.111.11.12 pppoe,ppp,info 

但是删除数字“2”我有两个空格,这会返回一个错误,使用 pythex,分析这个字符串:

Jan  6 00:00:15 111.111.11.12 pppoe,ppp,info
Jan 26 00:00:15 111.111.11.12 pppoe,ppp,info

我得到它来忽略这些空格:^\w{3}[^"],有时我的一天有 1 位或 2 位。我该如何接受它们?

最佳答案

您可以使用正则表达式范围说明符 {1,2} 来严格匹配前面标记的 1 到 2 次出现。

做:

^\w{3}\s{1,2}\d{1,2}\s(?:\d{2}:){2}\d{2}

此外,我还使用了 (?:\d{2}:){2}:这里是非捕获组 (?:\d{2}:) 匹配两个数字,后跟一个 :,然后 {2} 匹配 token 两次——这是为了匹配 HH:MM 这样我们就不必重复自己了。 \d{2} 匹配SS

例子:

In [40]: [re.search(r'^\w{3}\s{1,2}\d{1,2}\s(?:\d{2}:){2}\d{2}', s).group() for s in l]
Out[40]: ['Jan 26 00:00:15', 'Jan 6 00:00:15']

关于python - 正则表达式:忽略空格并匹配下一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48130758/

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