pingfan5888 发表于 2017-7-17 17:38:05

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

本帖最后由 pingfan5888 于 2017-8-20 09:24 编辑

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

      If $adww = '' Then
               
               
      ElseIf StringRegExp($adww, '^(({0,61})?\.)+{2,6}) = 0 Then
                MsgBox(48, 'xxx', '错误:网站格式不正确,请重新输入!' & @CRLF & @CRLF & '格式:www.xxxxxx.com', 2)
                ; 正常网址出现错误提示。
      Else
               
                If StringRegExp($adww, '^((25)|(2\d)|(1\d\d)|(\d)|\d)(\.((25)|(2\d)|(1\d\d)|(\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在判断域名就是不出错了,原因也不知为什么要这样,

xzf680 发表于 2017-7-18 17:43:14

网址正则: +://[^\s]*
匹配IP地址:\d+\.\d+\.\d+\.\d+

yamakawa 发表于 2017-7-18 19:11:36

回复 2# xzf680




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

xzf680 发表于 2017-7-18 23:23:49

回复 3# yamakawa
好吧,不行我也没办法!标志请选3
{:face (197):}
看下图:



yamakawa 发表于 2017-7-19 10:58:12

回复 4# xzf680


    那个0是数组索引0的意思。。。。就是说匹配到了1个

tubaba 发表于 2017-7-19 11:36:14

\A(2|2\d|1\d{1,2}|0\d{1,2}|00\d|\d{1,2})\.(2|2\d|1\d{1,2}|0\d{1,2}|00\d|\d{1,2})\.(2|2\d|1\d{1,2}|0\d{1,2}|00\d|\d{1,2})\.(2|2\d|1\d{1,2}|0\d{1,2}|00\d|\d{1,2})\Z

zlh78 发表于 2017-7-20 12:24:39

正则好复杂...
页: [1]
查看完整版本: 【已解决】网址和IP地址判断 StringRegExp 问题请教,谢谢。。