lixiaolong 发表于 2011-12-7 20:10:30

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

再出个题.

从下面不正确的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替换,还是必须一次成功~

回帖时请隐藏答案.

这是我的题解:
**** Hidden Message *****

3mile 发表于 2011-12-7 22:39:38

又有好玩的了吗?试下:
**** Hidden Message *****

cxlater 发表于 2011-12-7 22:59:52

我不会    来学习一下

lixiaolong 发表于 2011-12-7 23:00:43

回复 2# 3mile

又学到了一个!谢谢!!

user3000 发表于 2011-12-7 23:09:07

$Str = StringRegExpReplace($Str, '0{0,4}(\d{1,3})|0{0,4}', '\1')
....
来学习的.
一次搞定, 做不来...

netegg 发表于 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是不是也要去掉

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

lixiaolong 发表于 2011-12-8 08:48:15

回复 7# netegg

本来是这样的.
00127.20.002.1
0192.168.02.100

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

我的主题让前辈误会了{:face (270):}

afan 发表于 2011-12-8 12:08:21

回复netegg

本来是这样的.
00127.20.002.1
0192.168.02.100

我只是想加点难度才加个0的.
目的就 ...
lixiaolong 发表于 2011-12-8 08:48 http://www.autoitx.com/images/common/back.gif

这样增加难度的话其实不应该算找正确的Ip了,只能说组合成某个正确的Ip。蛋蛋所说的很对~

lixiaolong 发表于 2011-12-9 04:31:56

回复 9# afan

以后我注意了~{:face (52):}

a308467004 发表于 2011-12-11 09:58:07

学习下 正需要看相关
的东西

mylve 发表于 2011-12-11 16:27:05

{:face (382):}{:face (113):}

jamer 发表于 2011-12-11 16:48:21

基本思路:
将所有ip按"."分解,将首位含如果某一节首位是0则去掉,制止这个节只剩下一个0或者是其他数字
但是一次去除怎么去?
只有个简单的
$Str2 = StringRegExpReplace($Str,'0+([^0])','\1')

xlj310 发表于 2011-12-12 18:26:25

晕哦,来看看

pingfan5888 发表于 2011-12-14 22:05:56

看看了啊。。

netegg 发表于 2011-12-15 18:14:02

回复 13# jamer

'制止这个节只剩下一个0或者是其他数字'
------100.100.100.100?
页: [1] 2
查看完整版本: [正则练习] 不正确的IP地址中去掉不需要的【0】