acbs 发表于 2010-4-24 16:16:57

[已解决]正则表达式

本帖最后由 acbs 于 2010-4-26 16:32 编辑

学着写了一个查询身份证的,运行通不过,应该是正则写的不对,哪位指点一下?
最好将写的正则解释一下,谢啦。

#include <Inet.au3>
Local $Text = ['性 别:', '出生日期:', '发证地:'], $sText, $z = 0
$Number = InputBox('身份证信息地查询', '请输入需要查询的身份证号码',370702198001011238)
If @error = 0 Then
      $Source = _INetGetSource('http://qq.ip138.com/idsearch/index.asp?action=idcard&userid=' & $Number & '&B1=%B2%E9+%D1%AF')
      $sRep = StringRegExpReplace($Source, '&nvbsp;|&nbsp;|\n|\r|\s', '')
      $sReg = StringRegExp($sRep, '性别:</td>.+?tdc2>(.+?)</td>|出生日期:</td>.+?tdc2>(.+?)</td>|发证地:</td>.+?tdc2>(.+?)<br', 3)
      For $i = 0 To UBound($sReg) -1
                If $sReg[$i] = '' Then ContinueLoop
                $sText &= $Text[$z] & $sReg[$i] & @CRLF & @CRLF
                $z += 1
      Next
      MsgBox(0, '查询['&$Number&']结果如下', $sText)
EndIf

doshowyam 发表于 2010-4-24 17:05:33

又来了!!!

doshowyam 发表于 2010-4-24 17:20:01


#include <Inet.au3>
Local $Text = ['性 别:', '出生日期:', '发证地:'], $sText, $z = 0
$Number = InputBox('身份证信息地查询', '请输入需要查询的身份证号码',370702198001011238)
If @error = 0 Then
      $Source = _INetGetSource('http://qq.ip138.com/idsearch/index.asp?action=idcard&userid=' & $Number & '&B1=%B2%E9+%D1%AF')
      $sRep = StringRegExpReplace($Source, '&nvbsp;|&nbsp;|\n|\r|\s', '')
      ConsoleWrite($sRep)
                $sReg = StringRegExp($sRep, '性别:</td>.+?tdc2">(.+?)</td>|出生日期:</td>.+?tdc2">(.+?)</td>|发证地:</td>.+?tdc2">(.+?)<br', 3)
      For $i = 0 To UBound($sReg) -1
                If $sReg[$i] = '' Then ContinueLoop
                $sText &= $Text[$z] & $sReg[$i] & @CRLF & @CRLF
                $z += 1
      Next
      MsgBox(0, '查询['&$Number&']结果如下', $sText)
EndIf
晕取字符错了啊

acbs 发表于 2010-4-26 10:17:03

又来了!!!
doshowyam 发表于 2010-4-24 17:05 http://www.autoitx.com/images/common/back.gif


    这是上次解答手机号的老兄给我出的题目,自己弄了一下午,还是没弄出来,没办法,再请教来了,谢谢楼上的,我学习一下。

水木子 发表于 2010-4-26 11:23:50

这是上次解答手机号的老兄给我出的题目
acbs 发表于 2010-4-26 10:17 http://www.autoitx.com/images/common/back.gif
呵呵!还是把给你难倒啦!

acbs 发表于 2010-4-26 16:31:51

本帖最后由 acbs 于 2010-4-26 16:38 编辑

测试通过,谢谢啦。
少了个双引号,败了:face (3):
页: [1]
查看完整版本: [已解决]正则表达式