регулярное выражение для включения термина «демо», но не «тест демо» - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть столбец col1 и col2:

col1             col2          is_demo     is_test_demo
Demo             test demo     true        true
test Demo        test          true        true  
project Demo     demo          true        false
app demo         test          true        false

Я создал 2 столбца с 2 регулярными выражениями, которые выполняют поиск как в col1, так и в col2 - is_demo (с (?) Demo term) и is_test_demo (с (? I) тестовой демонстрацией термин)

требуемый результат:

col1             col2
Demo             test demo   
project Demo     demo
app demo         test

в основном я хочу удалить только те данные, где есть только тестовая демонстрация Может кто-нибудь подсказать, если я здесь не прав и как мне добиться результата

Код пробовал: добавлено 2 столбца регулярных выражений -

is_demo -

col1.like("(?i)demo") or col2.like("(?i)demo")

is_test_demo -

col1.like("(?i)test demo") or col2.like("(?i)test demo")

и я пытался, если is_demo, а не (is_test_demo) но это не работает.

Может кто-нибудь, пожалуйста, помогите мне получить регулярное выражение для включения где бы ни была его демонстрация, но не (тестовая демонстрация)

1 Ответ

2 голосов
/ 12 апреля 2019

Если вы хотите использовать регулярное выражение, я думаю, вы можете использовать rlike .Чтобы соответствовать демонстрации, но не в том случае, если строка содержит test_demo, вы можете использовать отрицательный прогноз (?!, чтобы утверждать, что справа - это не тестовая демонстрация между границами слова, чтобы не быть частью большего слова:

(?i)^(?!.*Test Demo).*\bdemo\b.*$

Regex demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...