[已解决]请教文本文件正则匹配入门问题:
本帖最后由 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 & "." & str3 & ".*",3)
就不行了,我哪里搞错了?大眼看小眼看了1个下午就是搞不定。
请教各位了,谢谢 #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)) 本帖最后由 bhwhui 于 2014-4-20 16:14 编辑
谢谢先,A版没看清楚我的问题,是第二个问题。
仔细看了看,自己的第2段程序没问题,问题是输出时不带回车换行符,挤到一块了。怎么把它分开?
回复 1# bhwhui
看了你的代码我大眼看小眼了 本帖最后由 Ycxw2008 于 2014-4-21 00:40 编辑
回复 4# fuldho
你先试试小写的 \v 能匹配到换行符吗{:face (238):}
我猜是不能,因为你那获取的文本只有一行,试试下面的吧2014[\d/]+,rb.+? 正则果然有点复杂,这个代码完全看不懂啊- -
页:
[1]