找回密码
 加入
搜索
查看: 3580|回复: 2

[效率算法] 求正则(已解决)

[复制链接]
发表于 2013-4-9 20:45:23 | 显示全部楼层 |阅读模式
本帖最后由 1007236046 于 2013-4-10 19:15 编辑

#include <Array.au3>
Local $a[3] 
$a[0] = 'aafg我的名字叫“何必来”55u67h'   ;何必来
$a[1] = 'yt56ygrg我的名字叫“李伟”vf个67' ;李伟 
$a[2] = 'bg名字叫“杨海涛”6vret米'        ;Null
;如果字符串里含有 我的名字叫“*”,就把*代表的字符串取出来
发表于 2013-4-9 21:05:31 | 显示全部楼层
#include <Array.au3>
Local $Str = _
                'aafg我的名字叫“何必来”55u67h' & @CRLF & _
                'yt56ygrg我的名字叫“李伟”vf个67' & @CRLF & _
                'bg名字叫“杨海涛”6vret米' & @CRLF & @CRLF & @CRLF
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '我的名字叫“(.+)”', 3)
;If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中[0]元素为: ' & $Test[0])
_ArrayDisplay($Test, UBound($Test))
发表于 2013-4-9 22:42:28 | 显示全部楼层
如果单单是上面那段可以这样
#include <Array.au3>
Local $Str = _
                'aafg我的名字叫“何必来”55u67h' & @CRLF & _
                'yt56ygrg我的名字叫“李伟”vf个67' & @CRLF & _
                'bg名字叫“杨海涛”6vret米' & @CRLF & @CRLF & @CRLF
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '“([^”]+)', 3)
;If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中[0]元素为: ' & $Test[0])
_ArrayDisplay($Test, UBound($Test))
我猜测你的实际情况可能比这个复杂。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-13 15:40 , Processed in 0.076764 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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