找回密码
 加入
搜索
查看: 4355|回复: 11

[效率算法] 请问一下正则问题

 火.. [复制链接]
发表于 2012-11-14 12:03:56 | 显示全部楼层 |阅读模式
悬赏100金钱未解决
提取的字符串
) 40020028712
) 测字:40020028712
) 40020028712
正则表达式
[ ::](\d{9})(?=\v)|[ ::](\d{11,12})(?=\v)
结果:
1、
2、40020028712
3、
4、40020028712
5、
6、40020028712
为什么得出来会有三个空白

附件: 您需要 登录 才可以下载或查看,没有账号?加入
 楼主| 发表于 2012-11-14 12:12:24 | 显示全部楼层
怎么样才能精确到三个,那数字只有三种情况,9位、11位、12位
发表于 2012-11-14 12:12:36 | 显示全部楼层
因为你用了括号,并且这个括号匹配不到任何内容
发表于 2012-11-14 12:31:15 | 显示全部楼层
(?m)(\d{9}|\d{11,12})\b
发表于 2012-11-14 12:38:22 | 显示全部楼层
\D(\d{9}|\d{11,12})(?=\v|$)
发表于 2012-11-14 17:38:41 | 显示全部楼层
(?<!\d)(\d{9}|\d{11,12})(?!\d)
发表于 2012-11-15 12:43:11 | 显示全部楼层
呵呵,楼上都是正则高手!我想的很简单
\d+
足矣
发表于 2012-11-15 20:29:11 | 显示全部楼层
什么阿,像看天书一样
发表于 2012-11-15 21:24:27 | 显示全部楼层
回复 9# lxwlxwayy
没有学习正则之前和你一样看上去是天书,学习了正则得皮毛后才知道正则易上手难精,但是正则真的很强大,对于文本处理,灵活高效,关键在于怎样用好。
发表于 2012-11-26 16:39:04 | 显示全部楼层
\d{9,12}

不用考虑排除10个数字的情况,因为你已经说明了只有9,11,12三种情况,而不是
有很多种情况,但我只需要9,11,12三种情况
发表于 2012-11-26 18:15:09 | 显示全部楼层
为了学习,拼命付出金钱,值了
发表于 2012-11-29 15:33:28 | 显示全部楼层
(\d{9}|\d{11,12})\b
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-5 14:03 , Processed in 0.081028 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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