gpt4 book ai didi

python - 匹配第 8 个逗号后的所有内容

转载 作者:行者123 更新时间:2023-12-01 21:20:05 26 4
gpt4 key购买 nike

我正在解析一个原始日志文件并且不得不求助于正则表达式,因为逗号分隔符出现在一个字段中。

20200914 01:38:16,ip-XX-YY-1-202,user,10.0.0.0,978,108421,QUERY,db,'select some random query, that has, commas in it, sometimes and not always quotes either..'

这是一个 maria DB 审计日志——我需要选择数据库查询,它是第 8 个逗号之后的所有内容。上面例子的输出是

`'select some random query, that has, commas in it, sometimes and not always quotes either..'`

我正在使用 pandas 和 .str.extract 进行处理。我有一个 hacky 版本,它匹配第 8 个逗号之前的所有内容,但不确定如何获取它之后的内容。

最佳答案

没有正则表达式的一种方法是使用 str.split:

s.split(",", 8)[-1]

输出:

"'select some random query, that has, commas in it, sometimes and not always quotes either.'"

基准:

%timeit s.split(",", 8)[-1]

# 511 ns ± 46.5 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

%timeit re.search("^(?:[^,]*,){8}(.*)$", s).group(1)
# @41686d6564's comment
# 1.52 µs ± 121 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

关于python - 匹配第 8 个逗号后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63877341/

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