Убрать пробел с помощью RE

Необходимо достать из списка товаров наименование категории (Часы наручные и т.д.) У меня остается пробел в конце наименования категории ('Часы наручные '). Подскажите, пожалуйста, как его можно убрать.

import re

list = ['Часы наручные CASIO MT-56-L-1','Микроволновая печь SAMSUNG MCW-11FL',
        'Сканер Hewlett-Packard EU-114','Принтер-копир Canon LPB2900B','Ноутбук ASUS Vivobook(K513-EA)','Фотооаппарат Canon YT-114']

category_list = [re.findall(r'[А-Яа-я-][^A-Za-z0-9]+', item)[0] for item in list]

print (category_list)
['Часы наручные ', 'Микроволновая печь ', 'Сканер ', 'Принтер-копир ', 'Ноутбук ', 'Фотооаппарат ']

Ответы (2 шт):

Автор решения: CrazyElf

Проще всего обрезать пробел(ы) через strip:

category_list = [re.findall(r'[А-Яа-я-][^A-Za-z0-9]+', item)[0].strip() for item in lst]
                                                               ^^^^^^^^

# ['Часы наручные', 'Микроволновая печь', 'Сканер', 'Принтер-копир', 'Ноутбук', 'Фотооаппарат']
→ Ссылка
Автор решения: Namerek

С использованием регулярки

import re

li = ['Часы наручные CASIO MT-56-L-1', 'Микроволновая печь SAMSUNG MCW-11FL', 'Сканер Hewlett-Packard EU-114', 'Принтер-копир Canon LPB2900B', 'Ноутбук ASUS Vivobook(K513-EA)', 'Фотоаппарат Canon YT-114']

pat = re.compile(r'^[А-Яа-я\s-]+(?=\s+)')

category_list = [i for k in map(pat.findall, li) for i in k]
print(category_list)

Со стрипом есть в другом ответе

Кроме того:
Это очень ненадежный способ. Он будет приемлем только в том случае, если вы уверены в 2-х моментах:

  1. Категория не содержит других символов кроме перечисленных в паттерне категории.
  2. Название товара не содержит символы используемые в паттерне категории
→ Ссылка