紫色风林 发表于 2011-9-2 18:26:52

请帮我用正则提取这个标题里的名称-----已解决

本帖最后由 紫色风林 于 2011-9-2 18:54 编辑

又卡壳了,别的我还可以在坛里找找资料,可这正则一看到我就头大,请帮我把这个标题的名子提出来

如何取得这个标题里的名子,
如:东莞证券财富通V6.25 - [组合图-大唐发电]
我想取得这个大唐发电这个名子,如何用正则表达?

在线等啊,请老师抽个小空帮我搞出来,急用呢{:face (411):}

紫色风林 发表于 2011-9-2 18:30:26

也就是要取得[组合图- 到]里的字符,不管它是数字还是字母都要取到

紫色风林 发表于 2011-9-2 18:30:59

本帖最后由 紫色风林 于 2011-9-2 18:32 编辑

不知有没表达清楚,
如;东莞证券财富通V6.25 - [组合图-ST零七]
就是要取得ST零七这个名子

紫色风林 发表于 2011-9-2 18:42:00

本帖最后由 紫色风林 于 2011-9-2 18:45 编辑

不会吧,还没老师路过啊,急着用呢,这个问题不解决后面的全做不了了,老师们留步啊

我用这个办法取的有后面的 ] 这个反括号
StringRight($BT, 5)

也没找到能取中间的涵数

cxlater 发表于 2011-9-2 18:44:15


#include <string.au3>
$str = "东莞证券财富通V6.25 - [组合图-ST零七]"
$result = _StringBetween($str ,"[组合图-" ,"]")
$result = $result
MsgBox(0,"" ,$result)


不是办法的办法   不会正则都是用string的函数或udf

紫色风林 发表于 2011-9-2 18:47:33

谢谢老师,这个办法也不错,我怎么没找到这个涵数呢

cxlater 发表于 2011-9-2 18:50:28

效率比较低   执行次数多的话最好还是考虑正则

紫色风林 发表于 2011-9-2 18:55:23

不会啊,就这样吧,如有老师路过给个正则也不错,谢了

水木子 发表于 2011-9-2 18:56:50

是这意思吗?

$sText = '东莞证券财富通V6.25 - [组合图-大唐发电]'
$aSre = StringRegExp($sText, '\[.+?-([^\]]+)', 3)
If IsArray($aSre) Then MsgBox(0, '', $aSre)

紫色风林 发表于 2011-9-2 19:10:16

谢谢版大,老师辛苦了
今天两个贴都很快得到了解决,老师们真热心
谢谢老师们

gzh888666 发表于 2011-9-15 20:56:11

$array = StringRegExp('东莞证券财富通V6.25 - [组合图-大唐发电]', '组合图-(.+)?]', 1)
$array = $array
msgbox(0, "正则表达式选项 4 测试 ", $array)
页: [1]
查看完整版本: 请帮我用正则提取这个标题里的名称-----已解决