Python - 正则表达式,如何提取这个?

时间:2012-12-12 15:44:44

标签: python

我有这种字符串

str = "(\\pt 3 \\out I1, I2 \\img img.jpg)"

我想提取3,I2,I2和img.jpg作为单独的值(I1和I2作为一个值)

我开始喜欢这个

pattern = "\\pt (.)"
re.findall(pattern, str)

我得到第一个值3,但无法弄清楚如何提取其他两个?

2 个答案:

答案 0 :(得分:2)

尝试以下正则表达式

>>> re.findall(r"\\\w+ ([^\\)]+)", str)
['3 ', 'I1, I2 ', 'img.jpg']

您缺少的部分是,您需要了解

  • [^\\\)]+\
  • 之外的所有内容)
  • 如何开始\\\w+两个斜杠后跟任何单词后跟空格

答案 1 :(得分:0)

您可以使用此正则表达式: -

>>> pattern = '\\\w+ ([^\\)]+)'
>>> re.findall(pattern, s)
['3 ', 'I1, I2 ', 'img.jpg']