IP地址的正则表达式为:
(([0-9]|[1-9][0-9]|1[0-9]{2\}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'1.利用电脑IP测试下:
ifconfig | grep --color -o '\(\([0-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-5]\)\.\)\{3\}\([0-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-5]\)'2. 利用字符串测试下:
mm="79171 DNS Resolve: img02.taobaocdn.com => 61.183.52.250 (from cache)"
ip=`echo $mm | grep -o '\(\([0-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-5]\)\.\)\{3\}\([0-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-5]\)' | wc -l`
if [ $ip -eq 1 ];then
echo "valid ip"
else
echo "invalid ip"
fi
3. 换一种方式,不用grep来匹配,而用~来匹配测试下:
iip="192.168.23.1"
if [[ $iip =~ ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ ]]; then
echo "ip"
else
echo "invalid ip"
fi
本文介绍如何使用正则表达式验证IP地址的有效性,并通过实例演示了三种不同的方法,包括使用ifconfig命令、字符串操作以及正则表达式直接匹配。
478

被折叠的 条评论
为什么被折叠?



