Я пытаюсь реализовать отрицательное предвосхищение в регулярном выражении (в Python), чтобы помочь мне определить случаи, когда за конкретным соответствием не следует ни одна из нескольких подстрок в любом месте строки, Я реализую это через Pandas.Series.str.contains()
. В качестве упрощенного примера, предположим, что я пытаюсь сопоставить подстроку CAT
, если DOG
или PIG
не появится где-нибудь позже в подстроке:
df = pd.DataFrame({'var':['THE CAT IS MINE','THE CAT AND THE DOG', 'THE CAT AND THE PIG']})
Ожидаемые результаты будут возвращать совпадение только для первый элемент. Следующая ссылка описывает такой сценарий, когда ваши взгляды вперед / назад могут быть обобщены за пределы непосредственного окружения, но только для простых цифр / букв (например, с использованием (?=[^5]*5)
). Я не мог обобщить этот совет для моего варианта использования. Любые советы будут с благодарностью.