首页 > 试题广场 >

判断输入的是否为IP地址

[编程题]判断输入的是否为IP地址
  • 热度指数:17806 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
写一个脚本统计文件nowcoder.txt中的每一行是否是正确的IP地址。
如果是正确的IP地址输出:yes
如果是错误的IP地址,且是四段号码的话输出:no,否则的话输出:error
假设nowcoder.txt内容如下:
192.168.1.1
192.168.1.0
300.0.0.0
123
你的脚本应该输出:
yes
yes
no
error
示例1

输入

192.168.1.1
192.168.1.0
300.0.0.0
123

输出

yes
yes
no
error
头像 有个
发表于 2021-12-19 21:34:57
# 使用正则表达式 awk '{ if ($0 ~ /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[09][0-9]|[1-9][0-9]|[0-9])$/) { 展开全文
头像 嘉木_99
发表于 2024-04-16 18:13:15
#!/bin/bash awk -F "." '{ if(NF==4){ for(i=1;i<5;i++){ if($i>255 || $i<0){ print("no& 展开全文
头像 求球
发表于 2022-03-02 19:43:53
cat nowcoder.txt|awk -F '.' '{ \ if(NF<4) { \   x[NR]=10 \   } else { \ 展开全文
头像 橙猫猫写代码
发表于 2023-04-20 22:57:49
#! /bin/bash awk -F "." '{if(NF!=4){printf("error\n");next;}for(i=1;i<=4;i++){if($i<0 || $i>255){printf("no\n");next;}if(i==NF){printf("yes\n 展开全文
头像 牛客958631006号
发表于 2022-05-08 16:42:05
awk -F "." '{ aa = 0; if( NF == 4 ) { aa = 1; for(i = 1;i <= NF;i++) { 展开全文
头像 沙夏
发表于 2022-01-13 19:40:37
awk '{ if($0~/^((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{0,2})\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{0,2})$/) print "yes" else if($0~/^([0-9]*\. 展开全文
头像 烎1998
发表于 2023-08-20 15:15:32
#!/bin/bash awk -F "." '{if(NF!=4){print "error"} else if((0<=$1 && $1<256) && (0<=$2 && 展开全文
头像 无言非沉默
发表于 2023-11-07 15:40:48
#!/bin/bash #先判断是否为ip格式,在判断每个二进制位是否大于255 for i in `cat nowcoder.txt`; do if [[ $i =~ [[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digi 展开全文
头像 牛客535988050号
发表于 2022-05-30 17:50:22
此题关键在于正则匹配 0-255数字匹配 0-99匹配表达式:[1-9]?[0-9] 100-199匹配表达式:1[0-9]{2} 200-249匹配表达式:2[0-4][0-9] 250-255匹配表达式:25[0-4] 0-255 匹配表达式:[1-9]?[0-9]|1[0-9]{2}|2[ 展开全文
头像 牛客606991460号
发表于 2023-08-03 14:14:44
#!/bin/bash awk '{ if ($0 ~ /^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/) { print &qu 展开全文