fybhwsx 发表于 2014-8-5 16:41:35

【已解决】求正则语句

本帖最后由 fybhwsx 于 2014-8-5 22:20 编辑

超级图表-RM1501 1小时线
SR1501 5分钟线
TA1409 1日线
rb1501 15分钟线
RM1501 1小时线
m1501 1日线
c1501 1日线
如需帮助,请按F1键
帐户管理
PanelFrame
PanelFrame
WorkspaceTab

想要获取成:SR1501 5分钟线 | TA1409 1日线 | rb1501 15分钟线 | RM1501 1小时线 | m1501 1日线 | c1501 1日线

afan 发表于 2014-8-5 17:40:55

Local $Str = _
                '超级图表-RM1501 1小时线' & @CRLF & _
                'SR1501 5分钟线' & @CRLF & _
                'TA1409 1日线' & @CRLF & _
                'rb1501 15分钟线' & @CRLF & _
                'RM1501 1小时线' & @CRLF & _
                'm1501 1日线' & @CRLF & _
                'c1501 1日线' & @CRLF & _
                '如需帮助,请按F1键' & @CRLF & _
                '帐户管理' & @CRLF & _
                'PanelFrame' & @CRLF & _
                'PanelFrame' & @CRLF & _
                'WorkspaceTab'

Local $sRE = StringRegExpReplace(StringRegExpReplace($str, '超\V+线\r\n|\r\n\V+[^线](?=\r)|\s+$', ''), '\r\n', ' | ')
MsgBox(0, $sRE, $Str)

kevinch 发表于 2014-8-5 18:13:08

Local $Str = _
                '超级图表-RM1501 1小时线' & @CRLF & _
                'SR1501 5分钟线' & @CRLF & _
                'TA1409 1日线' & @CRLF & _
                'rb1501 15分钟线' & @CRLF & _
                'RM1501 1小时线' & @CRLF & _
                'm1501 1日线' & @CRLF & _
                'c1501 1日线' & @CRLF & _
                '如需帮助,请按F1键' & @CRLF & _
                '帐户管理' & @CRLF & _
                'PanelFrame' & @CRLF & _
                'PanelFrame' & @CRLF & _
                'WorkspaceTab'
Local $sRE = StringRegExp($str, '(?ms)^(?!超级图表).*线', 3)
If Not @error Then MsgBox(0, "", StringReplace($sRE,@crlf," | "))这个也可以试下

shqf 发表于 2014-8-5 19:36:23

凑一下热闹:#include <Array.au3>
Local $Str = _
                '超级图表-RM1501 1小时线' & @CRLF & _
                'SR1501 5分钟线' & @CRLF & _
                'TA1409 1日线' & @CRLF & _
                'rb1501 15分钟线' & @CRLF & _
                'RM1501 1小时线' & @CRLF & _
                'm1501 1日线' & @CRLF & _
                'c1501 1日线' & @CRLF & _
                '如需帮助,请按F1键' & @CRLF & _
                '帐户管理' & @CRLF & _
                'PanelFrame' & @CRLF & _
                'PanelFrame' & @CRLF & _
                'WorkspaceTab'
Local $sRE = StringRegExp($Str, '(?m)^(?!超级图表).*线', 3)
If Not @error Then MsgBox(0, "", _ArrayToString($sRE, " | "))

fybhwsx 发表于 2014-8-5 22:19:38

分别测试了三位老师的代码,都能得到想要的结果。谢谢三位老师!这问题困我好长时间了。。

hnfeng 发表于 2014-8-6 08:52:29

都是高手哦
收藏一下备用

yangdai 发表于 2018-10-10 21:44:10

(?m).*?-(.*线)|.*线
页: [1]
查看完整版本: 【已解决】求正则语句