Https://regex101.com/ का उपयोग करके मैंने एक स्ट्रिंग में आईपी पते की पहली घटना को वापस करने के लिए एक नियमित अभिव्यक्ति का निर्माण किया।
RegExp:
(?:\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
=~
ऑपरेटर चर्चा की है मैनुअल में यहाँ है, जहां यह बैश का उपयोग करता है "विस्तारित नियमित अभिव्यक्ति" लिखा है। विस्तारित रेगेक्स को regex(7)
मैन पेज में वर्णित किया गया है और संक्षेप में यहां प्रस्तुत किया गया है ।