关于正则获取TXT文本后输出结果咨询[已解决]
本帖最后由 heroxianf 于 2015-12-7 15:47 编辑#include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
Local $str, $i
Local $sFilePath = "C:\Users\liuxianfeng1\Desktop\20151207085604.txt"
Local $zz = "\[.*\n[^\.].*"
$str = StringRegExp(FileRead($sFilePath), $zz, 1)
For $i = 1 To UBound($str)
MsgBox(0, 0, $str)
Next文本里的内容是:
.
这里的文字是(www.baidu.com)随机生成的。
.
这里的文字是随(www.baidu.com)机生成的。
.
这里的文字是随(www.baidu.com)机生成的。
.
我想通过正则 \[.*\n[^\.].* 抓取内容后输出,但是没有成功。 光说个错误的表达式,却没说明要捕获什么?
是要捕获中括号里面的吗?那加 \n 是什么鬼… 本帖最后由 heroxianf 于 2015-12-7 13:33 编辑
回复 2# afan
A大,表达式在表达式工具里测试时可以获取我想要的内容的。
要获取的内容是:
这里的文字是(www.baidu.com)随机生成的。
回复 3# heroxianf
Au3的正则不同…(?s)(?<=^|\n)\[.*?(?=\r\n\[|$) 回复 4# afan
谢谢A大,我用的是C#的环境测试的正则。看来以后不能用C#环境测试了。 回复 4# afan #include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
Local $str, $i, $aArray1
Local $sFilePath = "C:\Users\liuxianfeng1\Desktop\20151207085604.txt"
Local $zz = "(?s)(?<=^|\n)\[.*?(?=\r\n\[|$)"
$str = StringRegExp(FileRead($sFilePath), $zz, 1)
For $i = 1 To UBound($str)
MsgBox(0, "测试结果", $str)
NextA大 我测试的时候,获取的内容超出范围了,连 “.” 都获取上了。如果点之间有字符的话 也会被获取。
我要的字符就是红框里的东西,其他的都不需要。 回复 4# afan
\[.*\]
这个正则只能匹配出[]之间的内容包括[]
回复 6# heroxianf
我以为那个点也是属于随机内容…(?s)(?<=^|\n)\[.*?(?=\s*\r\n\.|$) 回复 9# afan
A大按照我上图中的内容测试,还是会包含 “.” 和后边的数字。 回复afan
A大按照我上图中的内容测试,还是会包含 “.” 和后边的数字。
heroxianf 发表于 2015-12-7 14:56 http://www.autoitx.com/images/common/back.gif
你一楼的测试内容 . 后面就没有的数字吧,怎么捕获到数字了? 回复 11# afan
A大我修改了正则可以只获取我想要的内容了,请帮忙看看是否合理。谢谢(?s)(?<=^|\n)\[.*?(?=\s*\r\n\n|$)测试内容(测试内容.之间有可能还生成随机的文字或是数字)
.
这里的文字是(www.baidu.com)随机生成的。
.
1
.
这里的文字是随(www.baidu.com)机生成的。
.
这里的文字是随(www.baidu.com)机生成的。
.
2
.
这里的文字是随(www.baidu.com)机生成的。
.
3
. 回复afan
A大我修改了正则可以只获取我想要的内容了,请帮忙看看是否合理。谢谢测试内容(测试内容.之 ...
heroxianf 发表于 2015-12-7 15:17 http://www.autoitx.com/images/common/back.gif
你把你贴出来的东西复制下来,用你的表达式测试,跟我提供的表达式的结果刚好相反。
你的测试txt需要以附件的形式上传测试,因为它的换行符不一定是 CRLF 回复 12# heroxianf
没有Au3的测试工具怎么玩… http://www.autoitx.com/thread-19345-1-1.html 回复 14# afan
TXT文本上传了。我去了解下正则测试工具。
页:
[1]
2