题解 | #判断输入的是否为IP地址#

判断输入的是否为IP地址

https://www.nowcoder.com/practice/ad7b6dbfab2a4267a9991110c57aa64f

#!/bin/bash
#!/bin/bash

# 定义正则表达式以匹配正确的IPv4地址
ipv4_regex='^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$'

# 逐行读取文件nowcoder.txt,并去除行首和行尾的空白字符
while IFS= read -r line; do
	# 去除行首和行尾的空白字符
	trimmed_line="${line##*( )}"
	trimmed_line="${trimmed_line%%*( )}"

	# 检查行是否为空(处理空行的情况)
	if [ -z "$trimmed_line" ]; then
		echo "error" # 空行应输出error
		continue
	fi

	# 检查行是否由四段号码组成(通过点分隔)
	if [[ "$trimmed_line" =~ ^([^.]+\.){3}[^.]+$ ]]; then
		# 如果是四段号码,再检查是否是正确的IPv4地址
		if [[ "$trimmed_line" =~ $ipv4_regex ]]; then
			echo "yes"
		else
			echo "no"
		fi
	else
		echo "error"
	fi
done <nowcoder.txt

全部评论

相关推荐

哈哈哈哈哈哈哈哈哈哈这个世界太美好了
凉风落木楚山秋:毕业出路老师不管,你盖个章他好交差就完事了,等你盖完毕业了就不关他事情了
点赞 评论 收藏
分享
06-18 13:28
已编辑
门头沟学院 Web前端
爱睡觉的冰箱哥:《给予你300的工资》,阴的没边了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务