Python с использованием регулярного выражения, как найти второе вхождение и между словами в строке - PullRequest
0 голосов
/ 11 октября 2019

Для текстовой строки ниже, я хочу найти параметр / слово между «И» и «МЕЖДУ», т.е. я хочу, чтобы lst_updt_ts был восстановлен

crit1 = 'где prcs_ts Между TO_DATE ('01 / 01 /2019 00:00:00 ',' MM / DD / YYYY HH24: MI: SS ') И TO_DATE ('03 / 31/2019 23:59:59', 'MM / DD / YYYY HH24: MI: SS')AND lst_updt_ts МЕЖДУ TO_DATE ('01 / 01/2019 00:00:00 ',' MM / DD / YYYY HH24: MI: SS ') И TO_DATE ('03 / 31/2019 23:59:59', 'MM /ДД / ГГГГ ЧЧ24: МИ: СС ')'

re.findall ('И (. *) МЕЖДУ', критерий 1)

Когда я использую приведенный выше код, я получаю "AND TO_DATE ('03 / 31/2019 23:59:59 ',' MM / DD / YYYY HH24: MI: SS ') И lst_updt_ts ", но мне просто нужно" lst_updt_ts ". Он принимает первое И, но я хочу, чтобы он взял непосредственно перед И между

1 Ответ

1 голос
/ 11 октября 2019

Работает для этой конкретной строки, вам нужна последняя комбинация AND <column_name> BETWEEN

re.search(r'.*AND (.*) BETWEEN',criteria1).group(1)

Результат:

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