Я просмотрел различные страницы SO по регулярным выражениям (и многие вопросы по регулярным выражениям, связанные с отрицанием, отрицанием, исключением, фильтрацией и т. Д.), Чтобы найти решение для регулярного выражения, но пока безуспешно.
У меня есть следующий список записей:
poliester 6 blanco cod 3 xyz
pol 6 negro cod 3 abc
poliester 6 verde cod 7
pol 6 vde cod 7
pol 4 amarillo cod 3
poliester 3 zapote cod 7
poliester 6 cafe
poliester 6 negro cod 4 jpg
poliester 3 456 verde cod 3
pol 6 blanco cod 2
, из которых мне нужно получить те, которые содержат pol.* 6 .*
И либо cod 3
, cod 7
, либо те, которые не упоминаются cod 4
или cod 2
.
Многие регулярные выражения, которые я пробовал на regex101.com, заканчиваются неудачей либо потому, что они извлекают упоминание cod 4
или cod 2
, либо из-за того, что им не удается получить строку poliester 6 cafe
.
Ниже приведены некоторые из регулярных выражений, которые я пробовал:
pol.* 6 .*(cod [^42])
pol.* 6 .*((?!cod [^42])|cod 3|cod 7).*
pol.* 6 .*((?<!cod [^42])|cod 3|cod 7).*
Ожидаемый результат:
poliester 6 blanco cod 3 xyz
pol 6 negro cod 3 abc
poliester 6 verde cod 7
pol 6 vde cod 7
poliester 6 cafe
Пока я работаю с регулярным выражением (с использованием regex101), и я планирую впоследствии использовать его в запросе R.