解题思路:使用正则表达式匹配
注意事项:
匹配 0到99的正则表达式是:[0-9]?\d(问号是匹配前面的字符零或一次)
匹配 100到199的正则表达式是:1\d{2}是以1开头,后边有2个数值的三位数
匹配 200到249的正则表达式是:2[0-4]\d是以2开头,中间是0到4之间的数值,最后是0到9之间的数字的三位数
匹配 250到255的正则表达式是:25[0-5],含义就是以25开头,后边是0到5之间的数值的三位数
所以为了匹配0到255之间的数字,正则表达式为:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d
ip是(数值.数值.数值.数值)的格式,就是三个数值加点和一个数值,即是(数值.){3}(数值)
所以正则表达式是(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)
参考代码:
#include<bits/stdc++.h> using namespace std; int main(){ string str; regex re("((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)"); while(cin>>str){ if(str=="End"){ break; } if(regex_match(str,re)){ cout<<"Y"<<endl; }else{ cout<<"N"<<endl; } } return 0; }
0.0分
5 人评分
C二级辅导-求偶数和 (C语言代码)浏览:639 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:974 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:609 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:534 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:667 |
1113题解浏览:789 |
矩阵加法 (C语言代码)浏览:1723 |
sizeof的大作用 (C语言代码)浏览:1028 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:509 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:767 |