t895073 发表于 2012-4-19 10:11:19

[已解决]正则提取txt文档内容

本帖最后由 t895073 于 2012-4-19 11:13 编辑

正则提取txt文档特定内容
txt内容为
------------------------------------------
./schredor/mod/file2alias.c
./schredor/docproc.c
./schredor/config/mconf.c
./schredor/config/mmt/cimoe/mconf.c
./schredor/docproc.c
------------------------------------------
我要抓出最后 / 的前一个名称
如: MSGBOX 第一次显示 mod 案确定后 在显示 schredor
在显示 config 在显示 cimoe 一直显示完!
谢谢!!

我想的 \/.*\/(.*?)\/
只能匹配
mod
config
cimoe
少匹配schredor
谢谢!!

t895073 发表于 2012-4-19 10:41:39

谢谢我?? 我的正则是错的..

shqf 发表于 2012-4-19 10:46:05

本帖最后由 shqf 于 2012-4-19 10:50 编辑

学习了a大的代码。看a大代码学正则快。Local $Str = _
                './schredor/mod/file2alias.c' & @CRLF & _
                './schredor/docproc.c' & @CRLF & _
                './schredor/config/mconf.c' & @CRLF & _
                './schredor/config/mmt/cimoe/mconf.c' & @CRLF & _
                './schredor/docproc.c'
;MsgBox(0, '原字符串', $Str)
Local $aSR = StringRegExp($Str, '(?m)/([^/]+)/[^/]+$', 3)
If @error Then Exit -1
For $i = 0 To UBound($aSR) - 1
      MsgBox(0, $i, $aSR[$i])
Next

love5173 发表于 2012-4-19 11:02:58

本帖最后由 love5173 于 2012-4-19 11:05 编辑

回复 1# t895073 $aSR = StringRegExp($Str, '.+/(.*)/', 3)

t895073 发表于 2012-4-19 11:13:00

感谢大家帮忙^^
继续学习!!
页: [1]
查看完整版本: [已解决]正则提取txt文档内容