Пытаясь улучшить свои навыки работы с регулярными выражениями, я хотел узнать о выражениях просмотра вперед и назад. В моей системе Archlinux я пробовал следующее:
a=ab;if [[ $a =~ [a-z](?=b) ]]; then echo "Y";else echo "N";fi
Что, насколько я понимаю, должно совпадать и, таким образом, повторять "Y", но не соответствует.
echo ab |sed 's/[a-z](?=b)/x/'
... тоже не похоже. grep
вроде тоже не осматривается, а pcregrep
да. Я также пробовал несколько попыток цитирования и/или экранирования выражений, но безрезультатно.
Я немного сбит с толку. Может ли кто-нибудь пояснить, где на самом деле можно использовать обходной путь, который не кажется этой экзотикой, судя по количеству упоминаний в туториалах? Или я просто ошибся, избегая выражений?