Я хочу получить шаблоны, включающие полные слова, а не кусочки слов.
Например. 12345 [some word] 1234567 [some word] 123 1679
. Случайный текст и шаблон появляется снова 1111 123 [word] 555
.
Это должно вернуть
[[12345, 1234567, 123, 1679],[1111, 123, 555]]
Я допускаю только одно слово между числами, иначе вся строка будет соответствовать.
Также обратите внимание, что важно зафиксировать, что 2 совпадения были найдены и поэтому был возвращен список из двух элементов.
Я запускаю это в python3.
Я пытался:
\b(\d+)\b\s\b(\w+)?\b\s\b(\d+)\b
но я не уверен, как масштабировать это до неограниченного количества совпадений.
re.findall('\b(\d+)\b\s\b(\w+)?\b\s\b(\d+)\b', string)
Это соответствует [number] [word] [number]
, но не любому числу, которое может следовать с или без слова между ними.