gpt4 book ai didi

python - 捕获由重复组组成的整个匹配项的正则表达式

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

我浏览了论坛,但找不到解决我的问题的确切方法。

假设我有一个如下所示的字符串:

UDK .636.32/38.082.4454.2(575.3)

我想用正则表达式匹配表达式,捕获实际数字(在本例中为“.636.32/38.082.4454.2(575.3)”)。

“UDK”和实际数字之间可能存在一些垃圾字符,“.”、“/”或“-”等字符是数字的有效部分。本质上,数字是由一些允许的字符分隔的数字序列。

我想到的是以下正则表达式:

'UDK.*(\d{1,3}[\.\,\(\)\[\]\=\'\:\"\+/\-]{0,3})+'

但它不会对“.636.32/38.082.4454.2(575.3)”进行分组!它只剩下最后一组的最后一位数字(在本例中为 3)。

如有任何帮助,我们将不胜感激。

最佳答案

首先,你需要一个非贪婪的.*?。其次,您不需要转义 [ ] 中的某些字符。第三,您可能只是将其视为数字序列和一些允许的字符?为什么有 \d{1,3} 而不是 4454

>>> re.match(r'UDK.*?([\d.,()\[\]=\':"+/-]+)', s).group(1)
'.636.32/38.082.4454.2(575.3)'

关于python - 捕获由重复组组成的整个匹配项的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244736/

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