Используя Регулярное выражение, я хочу найти все совпадающие слова в предложении и извлечь нужную часть в совпадающих словах одновременно.
Я использую API "findall" из модуля "re", чтобы найти слова соответствия, а также скобки для извлечения нужных мне частей.
Например, у меня есть строка "0xQQ1A, 0xWW2B, 0xEE3C, 0xQQ4C".
Мне нужны только два оставшихся слова после "0xQQ" или "0xWW", что приведет к появлению списка ["1A", "2B," 4C "].
Вот мой код:
import re
MyString = "0xQQ1A, 0xWW2B, 0xEE3C, 0xQQ4C"
MySearch = re.compile("0xQQ(\w{2})|0xWW(\w{2})")
MyList = MySearch.findall(MyString)
print MyList
Итак, мой ожидаемый результат - ["1A", "2B," 4C "].
Но фактический результат [['1A', ''), ('', '2B'), ('4C', '')]
Я думаю, что мог использовать комбинацию "()" и "|" не в ту сторону.
Спасибо за помощь!