ใช้https://regex101.com/ฉันสร้างนิพจน์ทั่วไปเพื่อส่งคืนที่อยู่ IP แรกในสตริง
นิพจน์ทั่วไป:
(?:\d{1,3}\.)+(?:\d{1,3})
RegExp รวมถึงตัวคั่น:
/(?:\d{1,3}\.)+(?:\d{1,3})/
ด้วยสตริงทดสอบต่อไปนี้:
eu-west 140.243.64.99
ส่งคืนการจับคู่แบบเต็มของ:
140.243.64.99
ไม่ว่าฉันจะลองกับสมอหรือไม่ก็ตามสคริปต์ทุบตีต่อไปนี้จะไม่ทำงานกับนิพจน์ทั่วไปที่สร้างขึ้น
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
=~
ผู้ประกอบการจะกล่าวถึงที่นี่ในคู่มือที่มันเขียนใช้ทุบตี "ขยายการแสดงออกปกติ" regexes ขยายอธิบายไว้ในregex(7)
หน้าคนและในเวลาสั้น ๆ สรุปได้ที่นี่