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

[效率算法] 求一个正则表达式

  [复制链接]
发表于 2016-5-7 17:12:48 | 显示全部楼层 |阅读模式
127.0.0.1 www.hao123.com
127.0.0.1      www.hao123.com
127.0.0.1            www.hao123.com
64.233.162.83  sites.google.com64.233.162.83  www.hao123.com

从上面这个文本中读取到127.0.0.1 www.hao123.com和64.233.162.83  www.hao123.com并将他们删除,变成:
64.233.162.83  sites.google.com


也就是指定域名如www.hao123.com 和他们前面N个空格的IP地址一起删除

www.hao123.com是可以设置指定的输入框
发表于 2016-5-7 19:30:56 | 显示全部楼层
Local $string = _
                '127.0.0.1 www.hao123.com' & @CRLF & _
                '127.0.0.1      www.hao123.com' & @CRLF & _
                '127.0.0.1            www.hao123.com' & @CRLF & _
                '64.233.162.83  sites.google.com64.233.162.83  www.hao123.com'
Local $sStr = StringRegExpReplace($string, '[\d\.]+\s*?www\.hao123\.com', '')
ConsoleWrite($sStr & @CRLF)
 楼主| 发表于 2016-5-7 22:36:02 | 显示全部楼层
谢谢了。
在问下,
www.hao123.com
http://www.hao123.com
http://www.hao123.com/search
https://www.hao123.com
www.hao123.com:8080
如何返回www.hao123.com
也就是说判断输入框内容,只取网站的主机名,不取//之前的和:及/后面的。
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 361, 161, 192, 124)
$Input1 = GUICtrlCreateInput("https://www.hao123.com", 40, 40, 273, 21)
$Button1 = GUICtrlCreateButton("检查", 112, 88, 129, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                     msgbox(0,"",  GUICtrlRead($Input1))
        EndSwitch
WEnd
发表于 2016-5-8 00:06:53 | 显示全部楼层
谢谢了。
在问下,





如何返回
也就是说判断输入框内容,只取网站的主机名,不取//之前的和:及/ ...
hearton 发表于 2016-5-7 22:36



    例子考虑的情况比较全面,这样最好
MsgBox(0, "", StringRegExpReplace(GUICtrlRead($Input1), '^(?:.*?://)?([^\s:/]+).*', '${1}'))
 楼主| 发表于 2016-5-8 08:26:12 | 显示全部楼层
大神的正则实在太厉害了,佩服。。。。
发表于 2016-5-8 10:58:26 | 显示全部楼层
大神的正则确实厉害。学习学习。
 楼主| 发表于 2016-5-8 22:11:09 | 显示全部楼层
还想再问下大神,判断是否有IP 任意控制 主机名
我用单独的IP正则 空格正则 主机名 放在一起不行 ,请问应该怎么弄?
^(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$
\H+
^([a-zA-z]+://)?([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$
三行放在一起不行呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 00:58 , Processed in 0.111480 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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