我有这种字符串
str = "(\\pt 3 \\out I1, I2 \\img img.jpg)"
我想提取 3 、 I2、 I2 和 img.jpg 作为单独的值(I1 和 I2 作为一个值)
我是这样开始的
pattern = "\\pt (.)"
re.findall(pattern, str)
我得到第一个值 3,但不知道如何提取另外两个?
我有这种字符串
str = "(\\pt 3 \\out I1, I2 \\img img.jpg)"
我想提取 3 、 I2、 I2 和 img.jpg 作为单独的值(I1 和 I2 作为一个值)
我是这样开始的
pattern = "\\pt (.)"
re.findall(pattern, str)
我得到第一个值 3,但不知道如何提取另外两个?
尝试以下正则表达式
>>> re.findall(r"\\\w+ ([^\\)]+)", str)
['3 ', 'I1, I2 ', 'img.jpg']
您缺少的部分是,您需要了解
[^\\\)]+
除 a\
和之外的所有内容)
\\\w+
两个斜杠,后跟任何单词,后跟空格你可以使用这个正则表达式: -
>>> pattern = '\\\w+ ([^\\)]+)'
>>> re.findall(pattern, s)
['3 ', 'I1, I2 ', 'img.jpg']