正则表达式:python在括号之间获取字符串

时间:2018-02-20 09:23:28

标签: python regex string curly-braces

我需要在python中的括号{ 文本 }之间获取文本。 这是我的示例字符串,

my_txt = "/home/admin/test_dir/SAM_8860-fg_frame_{001,002,003,004,005,007}.png"

我需要 {} 之间的数字。

我试过了,

>>> re.search(r'{.*}',my_txt).group()
'{001,002,003,004,005,007}'

但它会返回字符串以及花括号。

预期输出为'001,002,003,004,005,007'

如何省略花括号来获取python正则表达式中的字符串?

2 个答案:

答案 0 :(得分:0)

仅获取matched group

>>> re.search(r'{(.*?)}',my_txt).group(1)
'001,002,003,004,005,007'
  • group(0)整个匹配
  • group(1)是第一场比赛
  • ...

答案 1 :(得分:0)

试试这个。它创建组并选择第一组

re.search(r'{(.*?)}',my_txt).group(1)