gpt4 book ai didi

python - sre_constants.错误: invalid group reference Python regular expressions

转载 作者:太空宇宙 更新时间:2023-11-03 17:49:09 25 4
gpt4 key购买 nike

我写了一个Python正则表达式。

import re
nt = re.sub('NT:\s*[^,)]*',r'\1', message)

消息包含数据。 (NT:167 毫秒,ST:2509 毫秒,XT:1325 毫秒)

如果我对数据运行正则表达式以提取167 ms,则会收到以下错误。

File "test.py", line 79, in <module>
nt = re.sub('NT:\s*[^,)]*',r'\1', message)
File "/usr/lib64/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/usr/lib64/python2.7/re.py", line 275, in filter
return sre_parse.expand_template(template, match)
File "/usr/lib64/python2.7/sre_parse.py", line 802, in expand_template
raise error, "invalid group reference"
sre_constants.error: invalid group reference

我的代码有什么问题吗?

最佳答案

\1 与第一个捕获组最近匹配的文本相同

import re
nt = re.sub('\(NT:\s*([^,)]*),.*$',r'\1', message)

^^ ^^

试试这个。您没有捕获组,但仍然通过\1引用它。这就是错误的原因。将您想要的放入 group () 中,然后反向引用它。请参阅演示。

https://regex101.com/r/sJ9gM7/21#python

如果您希望 nt167 ms,则必须匹配整个字符串,然后进行替换。否则您可以使用

nt=re.findall(r"NT:\s*([^,)]*)",string)[0]

关于python - sre_constants.错误: invalid group reference Python regular expressions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29343215/

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