找回密码
 加入
搜索
查看: 5191|回复: 9

[AU3基础] (已解决)有个正则表达式不知道怎么写.求助.

  [复制链接]
发表于 2014-6-5 14:29:29 | 显示全部楼层 |阅读模式
本帖最后由 scorpio1102 于 2014-7-15 11:45 编辑

有两组数据:321-140605001
              :021-12345678
要求:在冒号后面但不包含冒号且不以32开头的三位或四位数字紧跟横杠'-'和8位数字.
(?<=:[^..........彻底凌乱了.求助.
发表于 2014-6-5 15:44:50 | 显示全部楼层
(?ms)(?<=\:)(?!32)\d{3,4}\-\d{8}(?=\D)
这个试下
发表于 2014-6-5 19:58:26 | 显示全部楼层
本帖最后由 lixiaolong 于 2014-6-5 19:59 编辑
:(?!32)(\d+-\d{8}(?!\d))
 楼主| 发表于 2014-6-6 10:58:14 | 显示全部楼层
本帖最后由 scorpio1102 于 2014-6-6 11:22 编辑

回复 3# lixiaolong


   看起来好像有点不理解,但用起来好像又OK.奇迹.
不以32开头的三位或四位数字没有限定吧.5位以上也匹配了.
发表于 2014-6-6 11:19:02 | 显示全部楼层
回复 4# scorpio1102


:(?!32)(\d{3,4}-\d{8}(?!\d))

亲测可以.

解释:
: 开头的必须为:
(?!32)  之后的2个字符不能为32
\d{3,4}  匹配数字3-4次
-   中间必须有 -
\d{8}  符号-之后必须有8个数字
(?!\d)  紧接着8个数字的那个字符不能为数字.

试试这些. 我测试没有问题的
:321-140605001
:021-12345678
:312-123331112
:323-140605001
:321-140605001
:0212-12345678
:312-123331112
:323-140605001
:321-140605001
:021-12345678
:31222-123331112
:323-140605001
 楼主| 发表于 2014-6-6 11:20:20 | 显示全部楼层
回复 2# kevinch


    明白了,感谢.
 楼主| 发表于 2014-6-6 11:29:52 | 显示全部楼层
回复 5# lanfengc


    冒号匹配进去了为啥没正则出来
    (?!\d)紧接着8个数字的那个字符不能为数字.我理解为非数字的意思,那怎么能又匹配到数字.
发表于 2014-6-6 11:32:39 | 显示全部楼层
回复 7# scorpio1102


    你要这个开始的冒号吗? 要的话就把冒号加到括号了.
(:(?!32)\d{3,4}-\d{8}(?!\d))
 楼主| 发表于 2014-6-6 11:56:49 | 显示全部楼层
回复 8# lanfengc


    明白了,不要冒号,不明白为什么不是(?!\D)
发表于 2014-6-6 12:05:15 | 显示全部楼层
回复 9# scorpio1102


    (?!\D)  和 (?!\d) 是不一样的。 详见帮助文件
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 18:38 , Processed in 0.082567 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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