Menggunakan https://regex101.com/ saya membuat ekspresi reguler untuk mengembalikan kemunculan pertama alamat IP dalam sebuah string.
RegExp:
(?:\d{1,3}\.)+(?:\d{1,3})
RegExp termasuk pembatas:
/(?:\d{1,3}\.)+(?:\d{1,3})/
Dengan string tes berikut:
eu-west 140.243.64.99
Ini mengembalikan kecocokan penuh:
140.243.64.99
Tidak peduli apa yang saya coba dengan jangkar dll, skrip bash berikut tidak akan berfungsi dengan ekspresi reguler yang dihasilkan.
temp="eu-west 140.243.64.99 "
regexp="(?:\d{1,3}\.)+(?:\d{1,3})"
if [[ $temp =~ $regexp ]]; then
echo "found a match"
else
echo "No IP address returned"
fi
=~Operator dibahas di sini di manual mana itu ditulis pesta kegunaan "extended ekspresi reguler". Regex yang diperluas dijelaskan di regex(7)halaman manual dan diringkas secara singkat di sini .