本帖最后由 newuser 于 2010-12-17 08:37 编辑
回复 2# afan
匹配不精确,是我的问题没描述清楚,麻烦afan回答代码中的几个问题,呵呵!#cs
张三,黑龙江省 5-7771
李四,湖南省 0459-4399273
张五,河北省 010-4377965
赵六,北京 230709198001011002
吕七,北京 27070919800101123a
王八,日本 23070919800102a 230709198001022
工人网,IP http://192.164.244.56
邮编: 166405
#ce
#include <array.au3>
Local $file=FileOpen(@ScriptDir&"\excises.txt")
Local $contents=FileRead($file)
Local $result=StringRegExp($contents,"[a-zA-z]+://[^\s]*",3)
; 匹配URL
; 通常URL的形式是ftp://xxx.xxx.xxx或http://xxx.xxx.xxx.xxx
; [a-zA-Z]+能达到匹配ftp或http
; ://匹配://
; xxx.xx.xx部分在保证 [^\s] 排除空格的前提下 * 能匹配
_ArrayDisplay($result)
Local $result=StringRegExp($contents,"\d{17}[\d|X]|\d{15}",3)
;匹配身份证
;身份证是15位纯数字或18位,前17位是纯数字,后1位是校验码,可能是数字或字母,那这里的X是一个未知数来匹配任意26个字母之一吗?
;18位的没匹配?
Local $result=StringRegExp($contents,"\d{17}[\d|[a-zA-Z]]|\d{15}",3)
;看来我对 X的 理解不对?
_ArrayDisplay($result)
Local $result=StringRegExp($contents,"\d{4}-\d{7}|\d{3}-\d{8}",3)
;匹配电话
;电话是 0459-1234567 或 010-12345678
_ArrayDisplay($result)
Local $result=StringRegExp($contents,"[1-9]\d{5}",3)
;匹配邮编不成功?我只要6位纯数字?可她连身份正或电话里的6位数字也提取了
_ArrayDisplay($result)
Local $result=StringRegExp($contents,"^[1-9]\d{5}$",3)
;加 ^ $也不行,根本没反应?
_ArrayDisplay($result)
FileClose($file)
|