|
26933062
银牌会员
    
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『楼 主』:
讨论:用findstr 判断输入的ip是否合法
用findstr 判断输入的ip是否合法
合法的ip是: 数字.数字.数字.数字 不管数字是多少位都可以。
...
[ Last edited by 26933062 on 2008-5-9 at 04:37 PM ]
|

致精致简! |
|
2008-5-9 15:39 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
2 楼』:
findstr 无法匹配准确的IP
因为它会列出整行信息
而且findstr没有匹配零次或一次(?)符
[ Last edited by huahua0919 on 2008-5-9 at 04:13 PM ]
|
|
2008-5-9 16:08 |
|
|
26933062
银牌会员
    
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
3 楼』:
Quote: | Originally posted by huahua0919 at 2008-5-9 16:08:
findstr 无法匹配准确的IP
因为它会列出整行信息 |
|
未必。
已经测试出结果了。留着作为一个题目给大家讨论吧。。
|

致精致简! |
|
2008-5-9 16:13 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
4 楼』:
能否结果贴出来看,能匹配
255.255.255.0
127.0.0.1
|
|
2008-5-9 16:14 |
|
|
26933062
银牌会员
    
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
5 楼』:
题目要求只要是 数字.数字.数字.数字 就是合法ip啊。不管数字是多少位。
[ Last edited by 26933062 on 2008-5-9 at 04:17 PM ]
|

致精致简! |
|
2008-5-9 16:15 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
6 楼』:
那肯定不行啊,以数字5开头的能算合法 IP吗?
|
|
2008-5-9 16:18 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
7 楼』:
findstr "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"
|
|
2008-5-9 16:27 |
|
|
26933062
银牌会员
    
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
8 楼』:
你的会把这些也当作合法ip
.12.23.23
192.002.168..1
12.12.12.
192.1.2.3.5
192..12.12
|

致精致简! |
|
2008-5-9 16:29 |
|
|
dikex
高级用户
    潜水修练批处理
积分 788
发帖 366
注册 2006-12-31
状态 离线
|
『第
9 楼』:
用.net等正则表达比较方便……
其实比较简单的方式是ping 一下……
|

正在潜水修练的批处理小白 |
|
2008-5-9 16:37 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
10 楼』:
我所做到只能匹配
findstr "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9]*[0-9]" 如果想要精确匹配要写很长的,要等会
|
|
2008-5-9 16:45 |
|
|
26933062
银牌会员
    
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
11 楼』:
1.2.3.4.5
1.2.3.4.
|

致精致简! |
|
2008-5-9 16:50 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
|
2008-5-9 16:55 |
|
|
dikex
高级用户
    潜水修练批处理
积分 788
发帖 366
注册 2006-12-31
状态 离线
|
『第
13 楼』:
10楼的加上^ $ 限制一下
|

正在潜水修练的批处理小白 |
|
2008-5-9 16:58 |
|
|
pooronce
中级用户
  
积分 484
发帖 250
注册 2007-6-5
状态 离线
|
『第
14 楼』:
一直不知道findstr的正则支持哪些符号,所以一直没派上用场
至少试过好像是不支持{}和+的,用*的话位数就不能确定了,就没法精确匹配了
|
|
2008-5-9 16:58 |
|
|
dikex
高级用户
    潜水修练批处理
积分 788
发帖 366
注册 2006-12-31
状态 离线
|
『第
15 楼』:
Quote: | Originally posted by pooronce at 2008-5-9 04:58 PM:
一直不知道findstr的正则支持哪些符号,所以一直没派上用场
至少试过好像是不支持{}和+的,用*的话位数就不能确定了,就没法精确匹配了 |
|
貌似就只有下面这些了
一般表达式的快速参考:
. 通配符: 任何字符
* 重复: 以前字符或类别出现零或零以上次数
^ 行位置: 行的开始
$ 行位置: 行的终点
[class] 字符类别: 任何在字符集中的字符
[^class] 补字符类别: 任何不在字符集中的字符
[x-y] 范围: 在指定范围内的任何字符
\x Escape: 元字符 x 的文字用法
\<xyz 字位置: 字的开始
xyz\> 字位置: 字的结束
|

正在潜水修练的批处理小白 |
|
2008-5-9 17:01 |
|