Regex: How to последовательность соответствия пар ключ-значение в конце строки

Я пытаюсь сопоставить пары "ключ-значение", которые появляются в конце (длинных) строк. Строки выглядят так (я заменил "\ n")

my_str = "lots of blah
          key1: val1-words
          key2: val2-words
          key3: val3-words"

, поэтому я ожидаю совпадения "key1: val1-words", "key2: val2-words" и "key3: val3-words".

  • Набор возможные имена ключей известны.
  • Не все возможные ключи появляются в каждой строке.
  • По крайней мере, два ключа появляются в каждой строке (если это упрощает сопоставление).
  • val-words может состоять из нескольких слов.
  • пары ключ-значение должны сопоставляться только в конце строки.
  • Я использую модуль Python re.

Я думал

re.compile('(?:tag1|tag2|tag3):')

плюс некоторые упреждающие утверждения были бы решением. Но я не могу понять это правильно. Как мне это сделать?

Спасибо.

/ Дэвид

Реальный пример строки:

my_str = u'ucourt métrage pour kino session volume 18\nThème: O sombres héros\nContraintes: sous titrés\nAuthor: nicoalabdou\nTags: wakatanka productions court métrage kino session humour cantat bertrand noir désir sombres héros mer medine marie trintignant femme droit des femmes nicoalabdou pute soumise\nPosted: 06 June 2009\nRating: 1.3\nVotes: 3'

РЕДАКТИРОВАТЬ:

На основе решения Микеля теперь я использую следующее: NSTextView окружающее NSScrollView местоположение начинает прыгать (ручка прокрутки перемещается в какое-то случайное положение рядом с)

Что вызывает это?

6
задан Erik Aigner 16 March 2011 в 10:17
поделиться