bellfeige 发表于 2012-7-30 09:24:42

正则表达式求助

求助各位大大,用StringRegExp()怎么写
1. 限定输入8个字符(CN开头+6位数字)
2. 邮箱输入的限定(开头起码2个字符,中间有@,后面起码有一个".")

小弟初学,各路大神求帮忙。。。

xiehuahere 发表于 2012-7-30 10:18:26

本帖最后由 xiehuahere 于 2012-7-30 10:56 编辑

回复 1# bellfeige

第一题:$string = "CN123456";楼主可修改字符串测试
$result = StringRegExp($string, "^CN\d{6}$", 0)
If $result Then
        MsgBox(0, "", "Match")
Else
        MsgBox(48, "", "Mismatch")
EndIf顺便说下,^和$是linux中的正则,分别匹配字符串的开头和结尾,测试在au3中管用,但在au3的帮助里没看到。
正则写为"\bCN\d{6}\z" 貌似也可以。\z也是匹配字符串的结束。
不是很理解\b这个“匹配一个单词范围.”啥意思,可能是说中间没有空格的都可以吧,就认为是一个单词。

第二题:$mailAddr = "SciTE@autoitx.com";楼主可修改这个字串测试
$result = StringRegExp($mailAddr, "^.{2,}@[^.]+\..+$", 0)
If $result Then
        MsgBox(0, "", "Match")
Else
        MsgBox(48, "", "Mismatch")
EndIf

bellfeige 发表于 2012-7-31 10:01:51

回复 2# xiehuahere

太感谢了

whitehead 发表于 2012-7-31 15:08:47

同样不理解\b这个“匹配一个单词范围”啥意思
页: [1]
查看完整版本: 正则表达式求助