gpt4 book ai didi

python - 用于获取字符后字符串中所有数字的正则表达式

转载 作者:太空狗 更新时间:2023-10-30 02:43:11 25 4
gpt4 key购买 nike

我正在尝试解析以下字符串并返回最后一个方括号后的所有数字:

C9: Title of object (foo, bar) [ch1, CH12,c03,4]

所以结果应该是:

1,12,03,4

字符串和数字会发生变化。重要的是获取“[”之后的数字,而不管其前面的字符(如果有)是什么。(我在 python 中需要这个,所以也没有原子组!)我已经尝试了所有我能想到的方法,包括:

 \[.*?(\d) = matches '1' only
\[.*(\d) = matches '4' only
\[*?(\d) = matches include '9' from the beginning

等等

非常感谢任何帮助!

编辑:我还需要在不使用 str.split() 的情况下执行此操作。

最佳答案

您可以找到最后一个 [ 括号之后的子字符串中的所有数字:

>>> s = 'C9: Title of object (fo[ 123o, bar) [ch1, CH12,c03,4]'
>>> # Get substring after the last '['.
>>> target_string = s.rsplit('[', 1)[1]
>>>
>>> re.findall(r'\d+', target_string)
['1', '12', '03', '4']

如果您不能使用拆分,那么这个可以与前瞻断言一起使用:

>>> s = 'C9: Title of object (fo[ 123o, bar) [ch1, CH12,c03,4]'
>>> re.findall(r'\d+(?=[^[]+$)', s)
['1', '12', '03', '4']

这会找到所有数字,后面只有非 [ 字符直到结束。

关于python - 用于获取字符后字符串中所有数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34338341/

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