Шаблон регулярного выражения для поиска слов в разном порядке - PullRequest
0 голосов
/ 19 июня 2020

У меня есть следующая строка:

случайные слова 12 пакетов 1,5 унции (42 г) случайные слова -> Я хочу: 12 пакетов 1,5 унции (42 г)

или

случайные слова 1,5 унции (42 г) 12 пакетов случайные слова -> Я хочу: 1,5 унции (42 г) 12 пакетов

Итак, мне нужен шаблон для соответствия:

  • 1,5 унции

  • 42 г

  • 12 пакетов.

У меня есть образец, соответствующий трем из них, но один. Проблема в том, что они находятся в одной строке и в разном порядке.

Я думаю, что это связано с просмотром вперед и назад.

1 Ответ

1 голос
/ 20 июня 2020

Я не использую просмотр вперед и / или назад

import re
x = "random words 12 pouches 1.5oz (42g) random words"
patt = re.compile("(\d+(?:\.\d+)?(?:\spouches|oz|g))")
print(patt.findall(x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...