1

我有这种字符串

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

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

我是这样开始的

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

我得到第一个值 3,但不知道如何提取另外两个?

4

2 回答 2

2

尝试以下正则表达式

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

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

  • 获取[^\\\)]+除 a\和之外的所有内容)
  • 如何开始\\\w+两个斜杠,后跟任何单词,后跟空格
于 2012-12-12T15:52:16.550 回答
0

你可以使用这个正则表达式: -

>>> pattern = '\\\w+ ([^\\)]+)'
>>> re.findall(pattern, s)
['3 ', 'I1, I2 ', 'img.jpg']
于 2012-12-12T15:52:32.587 回答