找回密码
 加入
搜索
查看: 4001|回复: 13

[AU3基础] 【已解决】正则问题求助

  [复制链接]
发表于 2012-4-13 16:29:26 | 显示全部楼层 |阅读模式
本帖最后由 xms77 于 2012-4-13 20:11 编辑

我想检查用户输入的字符串,只能满足如下要求:
DSD,SAG,GGH,....(重复前面的格式 3位连续字符串用逗号相隔)或者
GHH(就只有一个3位连续的字符串,有没有逗号无所谓。)
用StringRegExp("DSD,SAG,GGH,RTYU",'\w{3},{0,1}',0)不行,连续的4位字符串也能匹配。

评分

参与人数 1金钱 +20 收起 理由
afan + 20 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2012-4-13 16:54:10 | 显示全部楼层
本帖最后由 user3000 于 2012-4-13 17:01 编辑

StringRegExp($Input ,'^(?:[A-Z]{3},)?[A-Z]{3}(?:[A-Z]{3},)?$', 0)
发表于 2012-4-13 17:20:15 | 显示全部楼层
回复 1# xms77


   
不好意思, 二楼的代码还是有错, 那个逗号的位置没注意'放'对位置!
下面这个, 自己已测试过, 可以成功验证到.
StringRegExp($Input ,'^(?:[A-Z]{3},)?[A-Z]{3}(?:,[A-Z]{3})?, 0)

评分

参与人数 1金钱 +40 贡献 +5 收起 理由
xms77 + 40 + 5

查看全部评分

发表于 2012-4-13 17:23:10 | 显示全部楼层
回复 3# user3000


    晕了, 粘帖上来的, 怎么还少了一个 $   美元字符?
   应该在最后一个 问题 加上这个字符.

其名其妙了, 直接复制粘贴还能把我的字符吃了一个!
发表于 2012-4-13 17:47:25 | 显示全部楼层
本帖最后由 lixiaolong 于 2012-4-13 17:52 编辑

回复 1# xms77
$Input = "DSD,SAG,GGH,RTYU"
$a = StringRegExp($Input, '^(\w{3},?)+(?=(?<!,)$)', 0)

MsgBox(0, "", $a)
GHH(就只有一个3位连续的字符串,有没有逗号无所谓。)
有没有逗号无所谓用这个就可以.
^(\w{3},?)+$

评分

参与人数 3金钱 +70 贡献 +5 收起 理由
xms77 + 40 + 5 谢谢了,学习一下!
水木子 + 20 学习啦!
user3000 + 10 考虑更全面啊

查看全部评分

 楼主| 发表于 2012-4-13 19:49:29 | 显示全部楼层
回复 3# user3000
谢谢3000兄,数字也是合法的字符。我试试改编一下你的代码试试!
 楼主| 发表于 2012-4-13 20:03:28 | 显示全部楼层
回复 5# lixiaolong
xiaolong兄,请教$是什么意思?另外如果有空格也允许,只要3位的字符串是连续的就行,该怎么修改?
 楼主| 发表于 2012-4-13 20:10:20 | 显示全部楼层
回复 5# lixiaolong
貌似这样可以允许水平空白符的存在了。感谢你的帮忙!
^(\h*\w{3}\h*,?)+$

评分

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

查看全部评分

 楼主| 发表于 2012-4-13 20:13:12 | 显示全部楼层
回复 4# user3000
呵呵,我好像吃到一个$,但是不知道在这里是什么意思,糊涂啊!
发表于 2012-4-13 20:54:06 | 显示全部楼层
回复 7# xms77

$ 和 \Z 是一个意思的~
 楼主| 发表于 2012-4-13 22:11:04 | 显示全部楼层
回复 10# lixiaolong
xiaolong兄,发现个问题,好像如果连续6位的字符串也能匹配?
 楼主| 发表于 2012-4-13 22:13:58 | 显示全部楼层
回复 10# lixiaolong
我说好像没有看到$的说明,\Z就明白了。
发表于 2012-4-13 22:44:46 | 显示全部楼层
回复 11# xms77

后面不是\w的3个\w就行了~
^(\h*\w{3}\h*(?!\w),?)+$

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2012-4-13 23:17:01 | 显示全部楼层
回复 13# lixiaolong
再次感谢,看来我正则还需要加强练习啊!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 03:10 , Processed in 0.095269 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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