python—在长字符串中查找特定字符串格式的位置

mwecs4sa  于 2021-09-08  发布在  Java
关注(0)|答案(1)|浏览(330)

我想找到某个字符串格式在长字符串中的位置。例如:

k='df(3)srer(2)q3r32341v(144)df'

我想找到字符串(number)的位置,在本例中是(3)和(2)的位置
我希望返回的结果是

[2,9]

我想使用

a=[]
a.append(k.find('(\d)'))

但它不起作用;请帮帮我!非常感谢。

44u64gxh

44u64gxh1#

>>> [f.start() for f in re.finditer('\(\d\)', 'df(3)srer(2)q3r32341v(144)df')]
[2, 9]

请注意,您需要对括号进行转义(例如。 \(\d\) 如果你想要文字 (number) 因为括号是正则表达式中的一个特殊字符
如果要在括号中包含任意大小的数字,请使用 \d+ 其中包括 (144)

>>> [f.start() for f in re.finditer('\(\d+\)', 'df(3)srer(2)q3r32341v(144)df')]
[2, 9, 21]

相关问题