gpt4 book ai didi

python - 使用Python提取特定格式的括号

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

我对 python 相当陌生,所以如果这是一个相当新手的问题,我很抱歉,但我正在尝试从原始文本文件中具有特定格式的括号中提取文本。我已经尝试过使用正则表达式,但请告诉我它们是否是更好的方法。

通过示例展示我想做什么:

s = "Testing (Stackoverflow, 2013). Testing (again) (Stackoverflow, 1999)"

从这个字符串中我想要一个类似的结果:

['(Stackoverflow, 2013)', '(Stackoverflow, 1999)']

到目前为止我尝试过的正则表达式是

"(\(.+[,] [0-9]{4}\))"

与 re.findall() 结合使用,但这只能给出结果:

['(Stackoverflow, 2013). Testing (again) (Stackoverflow, 1999)']

因此,正如您可能已经猜到的那样,我正在尝试从 .txt 文件中提取引用文献。但我不想提取括号中的任何非引用文献的内容。

如果这是新手,我再次道歉,如果已经存在这样的问题,我再次道歉。我已经搜索过,但还没有运气。

最佳答案

使用[^()]而不是.。这将确保没有嵌套 ()。

>>> re.findall("(\([^()]+[,] [0-9]{4}\))", s)
['(Stackoverflow, 2013)', '(Stackoverflow, 1999)']

关于python - 使用Python提取特定格式的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18118121/

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