Мне нужно найти все строки, соответствующие шаблону, за исключением двух заданных строк.Регулярное выражение, соответствующее всем, кроме строки
Например, найдите все группы букв, за исключением aa
и bb
. Начиная с этой строки:
-a-bc-aa-def-bb-ghij-
Если вернуться:
('a', 'bc', 'def', 'ghij')
Я попытался с this regular выражением, которое захватывает 4 струны. Я думал, что приближаюсь, но (1) он не работает на Python и (2) я не могу понять, как исключить несколько строк из поиска. (Да, я мог бы удалить их позже, но мое реальное регулярное выражение делает все за один выстрел, и я хотел бы включить в него этот последний шаг.)
Я сказал, что это не работает на Python, потому что я пробовал это, ожидая тот же результат, но вместо этого я получаю только первую группу:
>>> import re
>>> re.search('-(\w.*?)(?=-)', '-a-bc-def-ghij-').groups()
('a',)
Я попытался с отрицательным прогностическим, но я не мог найти рабочее решение для этого случая.
Вы хотите ['findall'] (https://docs.python.org/2/library/re.html#re.findall) -' поиск' должен только возвращать первое совпадение :) – cxw