Lookahead работает с другими языками, но не в Shell - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть строка в переменной $OUTPUT, и я хочу получить only каталог резервного копирования. Я протестировал свое регулярное выражение на regex101 и на других языках , и оно работает, но в Shell это не так.

OUTPUT="Backup created at /data/bkp/bkp-2019_04_25/dremio_backup_2019-04-25_15.56, tables 25, uploaded files 0"

REGEX=\/.*?(\,)    # Returns: /data/bkp/bkp-2019_04_25/dremio_backup_2019-04-25_15.56, dremio tables 25,
REGEX2=\/.+?(\,)   # Returns: /data/bkp/bkp-2019_04_25/dremio_backup_2019-04-25_15.56, tables 25,
REGEX3=\/.*?(?=\,) # Returns nothing

if [[ $OUTPUT =~ $REGEX ]]; then echo ${BASH_REMATCH}; fi
if [[ $OUTPUT =~ $REGEX2 ]]; then echo ${BASH_REMATCH}; fi
if [[ $OUTPUT =~ $REGEX3 ]]; then echo ${BASH_REMATCH}; fi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...