找回密码
 加入
搜索
查看: 4146|回复: 5

[AU3基础] [已解决]请教文本文件正则匹配入门问题:

  [复制链接]
发表于 2014-4-20 12:29:55 | 显示全部楼层 |阅读模式
本帖最后由 bhwhui 于 2014-4-22 13:17 编辑

自己学艺不精,看过了正则表达式的内容,1个简单问题,自己就是调不通
如图文本文件截图:



开始我想选出所有含有"rb"字眼的行,用
$str=fileread(".....")
$hydm="rb"
stringregexp($str,".*" & $hydm & ".*",3)
搞定了。

当我想同时取出含有日期的行时,将上述语句改为
$str=fileread(".....")
$str2="2014/04/18,rb1410,X,X,X"
$str3=stringsplit($str2,",")
$sre=stringregexp($str,".*" & $str3[1] & "." & str3[2] & ".*",3)
就不行了,我哪里搞错了?大眼看小眼看了1个下午就是搞不定。
请教各位了,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-4-20 15:35:13 | 显示全部楼层
#include <Array.au3>
Local $Str = _
                '2014/04/18,ru1405,15,X,X' & @CRLF & _
                '2014/04/18,ru1405,14,X,X' & @CRLF & _
                '2014/04/18,ru1405,1,X,X' & @CRLF & _
                '2014/04/18,rb1410,9,X,X' & @CRLF & _
                '2014/04/18,rb1410,4,X,X' & @CRLF & _
                '2014/04/18,rb1410,20,X,X'
Local $s = 'rb'
Local $aSR = StringRegExp($str, '(?mi)^.+?' & $s & '\V+', 3)
_ArrayDisplay($aSR, UBound($aSR))
 楼主| 发表于 2014-4-20 16:10:22 | 显示全部楼层
本帖最后由 bhwhui 于 2014-4-20 16:14 编辑

谢谢先,A版没看清楚我的问题,是第二个问题。

仔细看了看,自己的第2段程序没问题,问题是输出时不带回车换行符,挤到一块了。怎么把它分开?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-4-20 19:24:40 | 显示全部楼层
回复 1# bhwhui


    看了你的代码我大眼看小眼了
发表于 2014-4-21 00:34:45 | 显示全部楼层
本帖最后由 Ycxw2008 于 2014-4-21 00:40 编辑

回复 4# fuldho


   你先试试小写的 \v 能匹配到换行符吗

   我猜是不能,因为你那获取的文本只有一行,试试下面的吧
2014[\d/]+,rb.+?
发表于 2014-4-28 15:17:17 | 显示全部楼层
正则果然有点复杂,这个代码完全看不懂啊- -
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 00:18 , Processed in 0.088897 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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