Выделение номера машины в тексте. Python, re
Нужно номер машины заменить на слово "номермашины" (именно слитно). С этим проблем нет, я написал для этого код, но есть ситуации, когда он находит номер машины там, где его нет. Например, строки для входа:
['хомута 150 мм 100', 'стяжки х 150 мм 50 шт', 'а 150 ку 99', 'номер а150ку99']
Мой код обрабатывает так:
['хомут номермашины ', 'стяжки номермашины шт', ' номермашины ', 'номер номермашины ']
А нужно так:
['хомута 150 мм 100', 'стяжки х 150 мм 50 шт', ' номермашины ', 'номер номермашины ']
В первом случае мой код принял последнюю букву слова "хомута" за первую букву номера машины. Во втором случае понятно, что это не номер, а просто единицы измерения товара (мм, шт); вместо "шт" бывает "м". А в третьем и четвертом случаях все верно.
Мой код регулярного выражения:
re.sub('[авекмнорстух]{1}\ {0,}[0-9]{3}\ {0,}[авекмнорстух]{2}\ {0,}[0-9]{2,3}', ' номермашины ', text)