如何获取 Python 中括号内的文本?

How to get a text within parenthesis in Python?

我正在尝试在

内获取文本
(German: [ˈadɔlf ˈhɪtlɐ] (About this sound listen); 20 April 1889 – 30 April 1945) in a paragraph

预期输出:

German: [ˈadɔlf ˈhɪtlɐ] (About this sound listen); 20 April 1889 – 30 April 1945

我正在使用:

s[s.find("(")+1:s.find(")")] 

但结果如下:

(German: [ˈadɔlf ˈhɪtlɐ] ( listen

您的问题是 s.find(")") 匹配它在 s 中找到的第一个“)”,而您想要最后一个。您可以使用 rfind 找到最后一次出现的字符串 ")":

s = "(German: [ˈadɔlf ˈhɪtlɐ] (About this sound listen); 20 April 1889 – 30 April 1945)"

s[s.find("(")+1:s.rfind(")")]
#German: [ˈadɔlf ˈhɪtlɐ] (About this sound listen); 20 April 1889 – 30 April 1945

如果要访问括号内层,只需再执行上一步即可:

text = s[s.find("(")+1:s.rfind(")")]
text[text.find("(")+1:text.rfind(")")]
#About this sound listen