中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-28 01:28
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,277 会员排行
DOS批处理 & 脚本技术(批处理室) » 讨论:用findstr 判断输入的ip是否合法
可打印版本  3,287 / 36
第1楼 26933062 发表于 2008-05-09 15:39
银牌会员 发帖 879 积分 2,268
讨论:用findstr 判断输入的ip是否合法
用findstr 判断输入的ip是否合法
合法的ip是: 数字.数字.数字.数字 不管数字是多少位都可以。





...

[ Last edited by 26933062 on 2008-5-9 at 04:37 PM ]
第2楼 huahua0919 发表于 2008-05-09 16:08
银牌会员 发帖 780 积分 1,608
findstr 无法匹配准确的IP
因为它会列出整行信息
而且findstr没有匹配零次或一次(?)符

[ Last edited by huahua0919 on 2008-5-9 at 04:13 PM ]
第3楼 26933062 发表于 2008-05-09 16:13
银牌会员 发帖 879 积分 2,268
Originally posted by huahua0919 at 2008-5-9 16:08:
findstr 无法匹配准确的IP
因为它会列出整行信息

未必。
已经测试出结果了。留着作为一个题目给大家讨论吧。。
第4楼 huahua0919 发表于 2008-05-09 16:14
银牌会员 发帖 780 积分 1,608
能否结果贴出来看,能匹配
255.255.255.0
127.0.0.1
第5楼 26933062 发表于 2008-05-09 16:15
银牌会员 发帖 879 积分 2,268
题目要求只要是 数字.数字.数字.数字 就是合法ip啊。不管数字是多少位。

[ Last edited by 26933062 on 2008-5-9 at 04:17 PM ]
第6楼 huahua0919 发表于 2008-05-09 16:18
银牌会员 发帖 780 积分 1,608
那肯定不行啊,以数字5开头的能算合法 IP吗?
第7楼 huahua0919 发表于 2008-05-09 16:27
银牌会员 发帖 780 积分 1,608
第8楼 26933062 发表于 2008-05-09 16:29
银牌会员 发帖 879 积分 2,268
你的会把这些也当作合法ip
.12.23.23
192.002.168..1
12.12.12.
192.1.2.3.5
192..12.12
第9楼 dikex 发表于 2008-05-09 16:37
高级用户 发帖 366 积分 788
用.net等正则表达比较方便……

其实比较简单的方式是ping 一下……
第10楼 huahua0919 发表于 2008-05-09 16:45
银牌会员 发帖 780 积分 1,608
我所做到只能匹配

如果想要精确匹配要写很长的,要等会
第11楼 26933062 发表于 2008-05-09 16:50
银牌会员 发帖 879 积分 2,268
1.2.3.4.5
1.2.3.4.
第12楼 huahua0919 发表于 2008-05-09 16:55
银牌会员 发帖 780 积分 1,608
贴代码出来看看
第13楼 dikex 发表于 2008-05-09 16:58
高级用户 发帖 366 积分 788
10楼的加上^ $ 限制一下
第14楼 pooronce 发表于 2008-05-09 16:58
中级用户 发帖 250 积分 484
一直不知道findstr的正则支持哪些符号,所以一直没派上用场
至少试过好像是不支持{}和+的,用*的话位数就不能确定了,就没法精确匹配了
第15楼 dikex 发表于 2008-05-09 17:01
高级用户 发帖 366 积分 788
Originally posted by pooronce at 2008-5-9 04:58 PM:
一直不知道findstr的正则支持哪些符号,所以一直没派上用场
至少试过好像是不支持{}和+的,用*的话位数就不能确定了,就没法精确匹配了


貌似就只有下面这些了

一般表达式的快速参考:
. 通配符: 任何字符
* 重复: 以前字符或类别出现零或零以上次数
^ 行位置: 行的开始
$ 行位置: 行的终点
字符类别: 任何在字符集中的字符
补字符类别: 任何不在字符集中的字符
范围: 在指定范围内的任何字符
\x Escape: 元字符 x 的文字用法
\<xyz 字位置: 字的开始
xyz\> 字位置: 字的结束
1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023