Я пытаюсь написать регулярное выражение в Python, которое извлекает два числа из следующих строк:
- (всего выпущено 64 инструмента; всего используется 8 инструментов)
- (Всего выпущено 49 инструментов; Всего используется 13 инструментов)
Это предназначено для генерации обзоров количества используемых инструментов. Поэтому мне нужны только цифры из строки. Внутри строки только слово «инструмент» меняется в зависимости от количества инструментов. Я попробовал несколько решений, чтобы скомпилировать строку, но изо всех сил пытаюсь завершить свое решение.
[...]
regexToolUsage = re.compile(r"\((\S)(\d+)(\S)(\d+)(\d)\)"))
[...]
if ToolUsage != None:
ToolsInTotal = ToolUsage.group(2).strip()
ToolsInUse = ToolUsage.group(4).strip()
Я ожидаю выходные данные 64 и 8, но получаю следующую ошибку: UnboundLocalError: локальная переменная 'ToolsInTotal', на которую ссылается перед присваиванием.
Я также попробовал следующее выражение:
re.compile(r"(Total of)(.+)( issued; Total of)(.+)(in use)\)")
Это извлекает "64 инструмента" и "8 инструментов", но мне нужно только число. Я не могу добавить слово «инструменты», так как оно не будет распознано, если это всего лишь «1 инструмент». Кто-нибудь может помочь?