lluxury 发表于 2011-4-23 12:03:43

我贴出来了,多lime><b>, 另外可以讲一下思路么,你的代码为什么总是这么短呢,羡慕

3mile 发表于 2011-4-23 12:09:10

stringregexpreplace($str,'<[^>]*>','')

lluxury 发表于 2011-4-23 12:18:34

stringregexpreplace($str,']*>','')
3mile 发表于 2011-4-23 12:09 http://www.autoitx.com/images/common/back.gif


    哥哥能给全一点么,这一条安到我的脚本里,试不出来,我指定过str了

love5173 发表于 2011-4-23 12:28:08

回复 18# lluxury


    StringRegExp ( "字符串", "表达式" [, 标志 ] [, 偏移量 ] ] )


你用的什么标志,我测试了,你说的问题绝对不会出现的$a='<td width="100%">·08时42分、<font color=#6495ED><b>楼歪歪</b></font> 获得了神兵利器 <font color=lime><b>血刀老祖的血刀</b></font></td>'
$b=StringRegExp($a,'lime><b>([^<]+)',3)
MsgBox(0,"",$b)

lluxury 发表于 2011-4-23 12:36:10

本帖最后由 lluxury 于 2011-4-23 12:42 编辑

我是在微软的正则工具上测的,可能会有偏差

另我自己也试了一下
$a='<td width="100%">·08时42分、<font color=#6495ED><b>楼歪歪</b></font> 获得了神兵利器 <font color=lime><b>血刀老祖的血刀</b></font></td>'
$b=StringRegExp($a,'lime><b>([^<]+)',3)
MsgBox(0,"",$b)
ConsoleWrite($b)

输出
血刀老祖的血刀???????+>12:37:59 AutoIT3.exe 完成::0


果然的转码呢,楼上的哥哥可以教我下怎么转码不
网页用的是 gb2312

love5173 发表于 2011-4-23 12:47:31

我无话可说了        #include <Array.au3>
    #include <INet.au3>
        $s_URL = '把你的网站复制进去'
        $soure = _INetGetSource($s_URL)
        $array = StringRegExp($soure, 'lime><b>([^<]+)', 3)
        _ArrayDisplay ($array)

lluxury 发表于 2011-4-23 12:57:05

搞定了,谢谢5173 ,再多说点吧{:face (303):}

输出的问号是怎么回事

lluxury 发表于 2011-4-23 13:04:20

感谢5173的大力帮忙,我贴自己写的下半段吧^^


$s_URL = '网址'
$soure = _INetGetSource($s_URL)
$array = StringRegExp($soure, 'lime><b>([^<]+)', 3)
FOR $element IN $Array
   
        $sSearch=$element
        xx()
        ;$i=$i+1
Next

_ArrayDisplay($avArray, "二维数组")



;函数部分写好了,差网页部分
Func xx()

For $sColumn =1 To 7
$iIndex = _ArraySearch($avArray, $sSearch, 0, 0, 0, 1, 1, $sColumn)
If @error Then
    ;MsgBox(0, "未找到", '"' & $sSearch & '" 找不到搜索列 ' & $sColumn & '.')
Else
    $avArray[$iIndex][$sColumn]="XX"
EndIf
Next

EndFunc

lluxury 发表于 2011-4-23 13:26:07

5173的正则自己分析了下,不知道对不对

lime><b>([^<]+)   
意思是:
1lime><b>后面的内容,了一行
2不包括尖括号,重复很多次

<font color=lime><b>血刀老祖的血刀</b></font>

love5173 发表于 2011-4-23 13:35:22

MsgBox(0, "未找到", '"' & $sSearch & '" 找不到搜索列 ' & $sColumn & '.')
光看这句就知道你用AU3不久吧
其实可以这么写
MsgBox(0, "未找到", $sSearch & ' 找不到搜索列 ' & $sColumn)

love5173 发表于 2011-4-23 13:47:56

回复 24# lluxury $a='<td width="100%">·08时42分、<font color=#6495ED><b>楼歪歪</b></font> 获得了神兵利器 <font color=lime><b>血刀老祖的血刀</b></font></td>'
$b=StringRegExp($a,'lime><b>([^<]+)',3)
ConsoleWrite($b&@CRLF)
你注意看图
血红色的是你的输出,后面的???跟程序没有什么关系

lluxury 发表于 2011-4-23 13:53:00

回复lluxury
你注意看图
血红色的是你的输出,后面的???跟程序没有什么关系
love5173 发表于 2011-4-23 13:47 http://www.autoitx.com/images/common/back.gif


    有关系的,之前我用这个做字符串,匹配下拉菜单来控件点击,就不生效,后来改用数组才成功的,而且,如果你把血刀老祖的血刀改成一串英文,就不会出来???,也可以正常匹配

lluxury 发表于 2011-4-23 13:55:54

MsgBox(0, "未找到", '"' & $sSearch & '" 找不到搜索列 ' & $sColumn & '.')
光看这句就知道你用AU3不久吧 ...
love5173 发表于 2011-4-23 13:35 http://www.autoitx.com/images/common/back.gif


    呵呵,这个是我抄的,5173你用的是xp系统吧

love5173 发表于 2011-4-23 14:05:12

回复 27# lluxury
发现了,这个函数实在是没用过,即便是帮助文件里面也是有这个东西的
可能是格式控制之类,受学识限制,我帮不了你
页: 1 [2]
查看完整版本: 还是正则表达式的问题,定义好两边,取中间的值,(完了,结吧)