1

私はこのような文字列を持っています

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 つを抽出する方法がわかりませんか?

4

2 に答える 2

2

次の正規表現を試してください

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

あなたが欠けている部分は、あなたが理解する必要があるということです

  • [^\\\)]+を除くすべてを取得するもの\)
  • \\\w+2 つのスラッシュの後に任意の単語が続き、その後にスペースが続く方法
于 2012-12-12T15:52:16.550 に答える
0

この正規表現を使用できます: -

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