Mencoba meningkatkan keterampilan regex saya, saya ingin belajar tentang ekspresi melihat ke depan dan melihat ke belakang. Di sistem Archlinux saya, saya mencoba yang berikut:
a=ab;if [[ $a =~ [a-z](?=b) ]]; then echo "Y";else echo "N";fi
Yang, sejauh yang saya pahami, seharusnya cocok dan menggemakan "Y", tetapi tidak.
echo ab |sed 's/[a-z](?=b)/x/'
... juga sepertinya tidak cocok. grep
tampaknya juga tidak melihat-lihat, tetapi pcregrep
melihatnya. Saya juga mencoba beberapa kali mencoba mengutip dan/atau menghindari ekspresi, tetapi tidak berhasil.
Aku sedikit bingung sekarang. Bisakah seseorang menjelaskan di mana pencarian, yang tampaknya itu eksotis jika dilihat dari jumlah penyebutan dalam tutorial, sebenarnya dapat digunakan? Atau apakah aku hanya mengacaukan ekspresiku?