При выполнении сопоставления с регулярным выражением мы получаем содержимое, которое было сопоставлено. Что если я хочу шаблон, который был найден в содержимом?
См. Приведенный ниже пример:
>>> import re
>>> r = re.compile('ERP|Gap', re.I)
>>> string = 'ERP is integral part of GAP, so erp can never be ignored, ErP!'
>>> r.findall(string)
['ERP', 'GAP', 'erp', 'ErP']
, но я хочу, чтобы вывод выглядел следующим образом: ['ERP', 'Gap', 'ERP', 'ERP']
Потому что, если я сгруппирую и суммирую исходный вывод, я получу следующий вывод в виде кадра данных:
ERP 1
erp 1
ErP 1
GAP 1
gap 1
Но что, если я хочу, чтобы вывод выглядел как
ERP 3
Gap 2
в соответствии с ключевыми словами, которые я ищу?
БОЛЬШЕ КОНТЕКСТА
У меня есть список ключевых слов, подобный этому: ['ERP', 'Gap']
. У меня есть такая строка: "ERP, erp, ErP, GAP, gap"
Я хочу подсчитать, сколько раз каждое ключевое слово появлялось в строке. Теперь, если я выполняю сопоставление с шаблоном, я получаю следующий вывод: [ERP, erp, ErP, GAP, gap]
.
Теперь, если я хочу агрегировать и считать, я получаю следующий фрейм данных:
ERP 1
erp 1
ErP 1
GAP 1
gap 1
Пока я хочу, чтобы вывод выглядел так:
ERP 3
Gap 2