chenbo2003 发表于 2010-6-4 17:48:26

求个含中文的正则表达式

网页代码如下:
<td height="35" align="center">64541562</td>
          <td height="35" align="center">张三</td>         
          <td colspan="3" align="left">&nbsp;</td>
</td>         
就是中间的那个“张三”,不知道如何用正则表达式取出来。
有谁能帮个忙吗?

afan 发表于 2010-6-4 19:20:15

本帖最后由 afan 于 2010-6-4 19:27 编辑

按位置捕获:$Str = _
                '<td height="35" align="center">64541562</td>' & @CRLF & _
                '          <td height="35" align="center">张三</td>          ' & @CRLF & _
                '          <td colspan="3" align="left">&nbsp;</td>' & @CRLF & _
                '</td>'
$sR = StringRegExp($str, 'center\">(.+)</td>\s+<td colspan\=', 3)
If Not @Error Then Msgbox(0, $sR, $str)或者捕获含中文的:$Str = _
                '<td height="35" align="center">64541562</td>' & @CRLF & _
                '          <td height="35" align="center">张三</td>          ' & @CRLF & _
                '          <td colspan="3" align="left">&nbsp;</td>' & @CRLF & _
                '</td>'
$sR = StringRegExp($str, 'center\">(.*[^\x00-\xff].*)</td>', 3)
If Not @Error Then Msgbox(0, $sR, $str)

kn007 发表于 2010-6-4 19:51:47

第2个是我想要的e#24

chenbo2003 发表于 2010-6-5 10:02:06

本帖最后由 chenbo2003 于 2010-6-6 10:43 编辑

谢谢2楼的回答,第2个好象捕获的不止中文,是捕获含中文。
再多说一句,我要捕获信息的那个网页,用“查看源文件”的方法得到的是一楼的代码,而通过_IEBodyReadHTML 获取的则是另外一种代码,所以开始用2楼的方法时也没有成功,这个我也是后来才发现的,不知道这对大家有没有帮助。

afan 发表于 2010-6-5 13:29:01

回复 4# chenbo2003


    你不是要求的“含中文”吗?
获取源码的方式不同造成的获取的源码不同是肯定的,当然正则也会不同。你用什么方式获取自然也要用相应的正则来匹配~

lynfr8 发表于 2010-6-5 13:41:52

谢谢2楼的回答,第2个好象捕获的不止中文,是捕获含中文。
再多说一句,我要捕获信息的那个网页,用“查看 ...
chenbo2003 发表于 2010-6-5 10:02 http://www.autoitx.com/images/common/back.gif

那你不是应该把_IEBodyReadHTML 获取的源代码粘贴上来吗?
正则是强大
但不足以能强大到成为使用者肚子里的一条虫
页: [1]
查看完整版本: 求个含中文的正则表达式