找回密码
 加入
搜索
查看: 2898|回复: 11

[网络通信] 谁会这个正则表达式啊

  [复制链接]
发表于 2013-5-18 15:37:01 | 显示全部楼层 |阅读模式
您的IP是:[113.137.155.549] 来自:陕西省榆林市 电信
得到 1、 113.137.155.549
        2、陕西省榆林市
     3、电信
3可以不要,但是2不要带电信2字
发表于 2013-5-18 16:06:26 | 显示全部楼层
用这个匹配IP地址    (\d?\d?\d\.){3}\d?\d?\d
发表于 2013-5-18 16:08:35 | 显示全部楼层
(?<=来自:).+(?= )  这个匹配来自: 到后面的
发表于 2013-5-18 16:09:34 | 显示全部楼层
#include <array.au3>
Dim $Str = "您的IP是:[113.137.155.549] 来自:陕西省榆林市 电信"
Dim $text = StringRegExp($Str, "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|].*?:(\S*)", 3)
If IsArray($text) Then _ArrayDisplay($text)
发表于 2013-5-18 16:22:33 | 显示全部楼层
#include <array.au3>
Dim $Str = "您的IP是:[113.137.155.549] 来自:陕西省榆林市 电信"
Dim $text = StringRegExp($Str, "\[(.+)].*?:(\S*)", 3)
If IsArray($text) Then _ArrayDisplay($text)
发表于 2013-5-18 18:52:50 | 显示全部楼层
:\[?([^\]\h]+)
发表于 2013-5-18 20:12:43 | 显示全部楼层
回复 6# afan


    A版,能讲解一下吗,其中的?是什么意思?
发表于 2013-5-18 20:45:29 | 显示全部楼层
回复 7# haijie1223


    就是前面的 \] 可以没有,为了通用匹配后面的 陕西省榆林市

评分

参与人数 1金钱 +30 收起 理由
haijie1223 + 30 谢谢A版,又学会一个正则表示方法

查看全部评分

发表于 2013-5-18 21:10:23 | 显示全部楼层
回复 8# afan


    又学会一个正则知识点~谢谢A版~   其中的\h可以换成\s吧
发表于 2013-5-18 21:32:39 | 显示全部楼层
回复 9# haijie1223


    是的,这里用 \h \s 差不多
 楼主| 发表于 2013-5-19 12:16:10 | 显示全部楼层
感谢大神们,谢谢了O(∩_∩)O谢谢
发表于 2013-5-19 20:52:51 | 显示全部楼层
留个记号,太经典
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-3 17:09 , Processed in 0.084234 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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