私はこのような文字列を持っています
str = "(\\pt 3 \\out I1, I2 \\img img.jpg)"
3 、 I2 、 I2 、および img.jpg を個別の値として抽出したい (I1 と I2 を 1 つの値として)
こんな感じで始めました
pattern = "\\pt (.)"
re.findall(pattern, str)
最初の値 3 を取得しましたが、他の 2 つを抽出する方法がわかりませんか?
私はこのような文字列を持っています
str = "(\\pt 3 \\out I1, I2 \\img img.jpg)"
3 、 I2 、 I2 、および img.jpg を個別の値として抽出したい (I1 と I2 を 1 つの値として)
こんな感じで始めました
pattern = "\\pt (.)"
re.findall(pattern, str)
最初の値 3 を取得しましたが、他の 2 つを抽出する方法がわかりませんか?
次の正規表現を試してください
>>> re.findall(r"\\\w+ ([^\\)]+)", str)
['3 ', 'I1, I2 ', 'img.jpg']
あなたが欠けている部分は、あなたが理解する必要があるということです
[^\\\)]+
を除くすべてを取得するもの\
)
\\\w+
2 つのスラッシュの後に任意の単語が続き、その後にスペースが続く方法この正規表現を使用できます: -
>>> pattern = '\\\w+ ([^\\)]+)'
>>> re.findall(pattern, s)
['3 ', 'I1, I2 ', 'img.jpg']