找回密码
 加入
搜索
查看: 1646|回复: 6

[AU3基础] 【已解决】网址和IP地址判断 StringRegExp 问题请教,谢谢。。

  [复制链接]
发表于 2017-7-17 17:38:05 | 显示全部楼层 |阅读模式
本帖最后由 pingfan5888 于 2017-8-20 09:24 编辑

这个例子中,StringRegExp 判断都是不行,但在其他代码中又正常。我哪里写错了,还是???实在查不出,请教大大们帮忙了。。请教大大们帮忙了。。
$adw = GUICtrlRead(ClipGet())
        $adww = StringReplace($adw, ' ', '')

        If $adww = '' Then
               
               
        ElseIf StringRegExp($adww, '^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}) = 0 Then
                MsgBox(48, 'xxx', '错误:网站格式不正确,请重新输入!' & @CRLF & @CRLF & '格式:www.xxxxxx.com', 2)
                ; 正常网址出现错误提示。
        Else
               
                If StringRegExp($adww, '^((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)(\.((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)){3}) = 1 Then
                        ;MsgBox(48, '域名解析', 'IP格式正确!', 2);这边等于没有用处。。。不起作用。。
                        GUICtrlSetData($Input4, '||' & $adww& '^')
                        GUICtrlSetData($Input5, '||' & $adww & '^$popup')
                       
                Else
                        $array = StringRegExp(ClipGet(), '[^.]+\.[^.]+?(?=$|\s)', 2)
                        For $i = 0 To UBound($array) - 1
                                ;MsgBox(0, "正则表达式选项 3 测试 " & $i, $array[$i])
                                If $array[$i] = 'com.cn' Or $array[$i] = 'org.cn' Or $array[$i] = 'net.cn' Then
                                       
                                        $array1 = StringRegExp(ClipGet(), '[^.]+\.[^.]+\.[^.]+?(?=$|\s)', 2)
                                        For $b = 0 To UBound($array1) - 1
                                               
                                                GUICtrlSetData($Input4, '||' & $array1[$b] & '^')
                                                GUICtrlSetData($Input5, '||' & $array1[$b] & '^$popup')

                                        Next
                                       
                                       
                                Else
                                       
                                        GUICtrlSetData($Input4, '||' & $array[$i] & '^')
                                        GUICtrlSetData($Input5, '||' & $array[$i] & '^$popup')
                                       
                                EndIf
                               
                               
                        Next
                       
                EndIf
               
        EndIf
多谢各位了,已解决了,先判断IP在判断域名就是不出错了,原因也不知为什么要这样,
发表于 2017-7-18 17:43:14 | 显示全部楼层
网址正则: [a-zA-z]+://[^\s]*
匹配IP地址:\d+\.\d+\.\d+\.\d+
发表于 2017-7-18 19:11:36 | 显示全部楼层
回复 2# xzf680




楼上的,你这两个正则不行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2017-7-18 23:23:49 | 显示全部楼层
回复 3# yamakawa
好吧,不行我也没办法!标志请选3

看下图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2017-7-19 10:58:12 | 显示全部楼层
回复 4# xzf680


    那个0是数组索引0的意思。。。。就是说匹配到了1个
发表于 2017-7-19 11:36:14 | 显示全部楼层
\A(2[5][0-5]|2[0-4]\d|1\d{1,2}|0\d{1,2}|00\d|\d{1,2})\.(2[5][0-5]|2[0-4]\d|1\d{1,2}|0\d{1,2}|00\d|\d{1,2})\.(2[5][0-5]|2[0-4]\d|1\d{1,2}|0\d{1,2}|00\d|\d{1,2})\.(2[5][0-5]|2[0-4]\d|1\d{1,2}|0\d{1,2}|00\d|\d{1,2})\Z
发表于 2017-7-20 12:24:39 | 显示全部楼层
正则好复杂...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-24 08:24 , Processed in 0.080969 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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