找回密码
 加入
搜索
查看: 7287|回复: 17

[效率算法] [正则练习] 不正确的IP地址中去掉不需要的【0】

 火.. [复制链接]
发表于 2011-12-7 20:10:30 | 显示全部楼层 |阅读模式
再出个题.

从下面不正确的IP地址中去掉不需要的【0】.
0.0.001.00
000.000.025.205
001.01.1.0
0000100.10.01.010
0012007.20.002.1
01092.168.02.100
需要得到的结果如下:
0.0.1.0
0.0.25.205
1.1.1.0
100.10.1.10
127.20.2.1
192.168.2.100
$Str = _
'0.0.001.00' & @CRLF & _
'000.000.025.205' & @CRLF & _
'001.01.1.0' & @CRLF & _
'0000100.10.01.010' & @CRLF & _
'0012007.20.002.1' & @CRLF & _
'01092.168.02.100'
用StringRegExpReplace替换,还是必须一次成功~

回帖时请隐藏答案.

这是我的题解:
游客,如果您要查看本帖隐藏内容请回复
发表于 2011-12-7 22:39:38 | 显示全部楼层
又有好玩的了吗?试下:
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 1金钱 +20 贡献 +2 收起 理由
lixiaolong + 20 + 2 学习了!

查看全部评分

发表于 2011-12-7 22:59:52 | 显示全部楼层
我不会    来学习一下
 楼主| 发表于 2011-12-7 23:00:43 | 显示全部楼层
回复 2# 3mile

又学到了一个!谢谢!!
发表于 2011-12-7 23:09:07 | 显示全部楼层
$Str = StringRegExpReplace($Str, '0{0,4}(\d{1,3})|0{0,4}', '\1')
....
来学习的.
一次搞定, 做不来...

评分

参与人数 1金钱 +10 收起 理由
lixiaolong + 10 加油~

查看全部评分

发表于 2011-12-8 08:16:39 | 显示全部楼层
本帖最后由 netegg 于 2011-12-8 08:23 编辑

0012007.20.002.1
01092.168.02.100
这两组明显不对呀,第一段中间的0可不一定是不需要的
如果是对的,那么
比如102.102.102.102中间的0是不是也要去掉

如果所需结果已知,倒没必要正则了,一般字符串处理就好

评分

参与人数 2金钱 +30 收起 理由
lixiaolong + 10 以后我注意了~
afan + 20

查看全部评分

 楼主| 发表于 2011-12-8 08:48:15 | 显示全部楼层
回复 7# netegg

本来是这样的.
00127.20.002.1
0192.168.02.100

我只是想加点难度才加个0的.
目的就是练习正则。。。

我的主题让前辈误会了
发表于 2011-12-8 12:08:21 | 显示全部楼层
回复  netegg

本来是这样的.
00127.20.002.1
0192.168.02.100

我只是想加点难度才加个0的.
目的就 ...
lixiaolong 发表于 2011-12-8 08:48


这样增加难度的话其实不应该算找正确的Ip了,只能说组合成某个正确的Ip。蛋蛋所说的很对~
 楼主| 发表于 2011-12-9 04:31:56 | 显示全部楼层
回复 9# afan

以后我注意了~
发表于 2011-12-11 09:58:07 | 显示全部楼层
学习下 正需要看相关
的东西
发表于 2011-12-11 16:27:05 | 显示全部楼层
发表于 2011-12-11 16:48:21 | 显示全部楼层
基本思路:
将所有ip按"."分解,将首位含如果某一节首位是0则去掉,制止这个节只剩下一个0或者是其他数字
但是一次去除怎么去?
只有个简单的
$Str2 = StringRegExpReplace($Str,'0+([^0])','\1')
发表于 2011-12-12 18:26:25 | 显示全部楼层
晕哦,来看看
发表于 2011-12-14 22:05:56 | 显示全部楼层
看看了啊。。
发表于 2011-12-15 18:14:02 | 显示全部楼层
回复 13# jamer

'制止这个节只剩下一个0或者是其他数字'
------100.100.100.100?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-16 18:23 , Processed in 0.098616 second(s), 30 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表