[已解决]再请问一个正则表达式提取换行的问题,\s为什么不匹配呢
本帖最后由 bihex 于 2015-1-7 12:52 编辑想匹配下面红色的部分,".*操作\s.{4}(.*)\s .*掌柜.*"这个为什么不行呢,测试的时候可以,但是不输出
-----------以下是文件-------------------
商品信息 单价 操作
【1组2瓶装】油污净厨房去油强力抽油烟机清洗剂去重油污清洁剂
掌柜:太美环宝青岛专卖店
店铺详情>> 楼主,重新组织语言,看不懂 {:face (207):}同意一楼。。。看到这样的内容,表示无语。求高手。 {:face (207):}正则不是这样用的,亲。。。。洗洗睡吧。
标题
想匹配下面红色的部分,用下面这个正则表达式为啥不行呢".*操作\s.{4}(.*)\s .*掌柜.*"
用在线正则表达式工具测试的时候可以匹配出来,但是在autoit里面就不行没有任何不输出,
------ ...
bihex 发表于 2015-1-6 15:54 http://www.autoitx.com/images/common/back.gif 想匹配“操作”和掌柜之间的部分 (?m)^\h+(\V+)\v+\s+掌柜 本帖最后由 半芯竹 于 2015-1-6 21:54 编辑
这样匹配,后面会有空白字符
这样来匹配,后面好像就没有多余的空白字符 回复 6# bihex (?s)操作(.*?)掌柜 #include <Array.au3>
#cs
---a.txt---
商品信息 单价 操作
【1组2瓶装】油污净厨房去油强力抽油烟机清洗剂去重油污清洁剂
掌柜:太美环宝青岛专卖店
店铺详情>>
商品信息 单价 操作
【1组2瓶装】油污净厨房去油强力抽油烟机清洗剂去重油污清洁剂
掌柜:太美环宝青岛专卖店
店铺详情>>
---a.txt of End---
#ce
; 想匹配“操作”和掌柜之间的部分
; (?m)^\h+(\V+)\v+\s+掌柜
; (?s)操作(.*?)掌柜
dim $text = FileRead("a.txt")
dim $res = StringRegExp($text,"(?s)操作(.*?)掌柜",3)
if @error then
msgbox(48,0,"Error!")
Else
_ArrayDisplay($res,"测试1 - res")
Endif
测试可用了,也可提取多个关键字内的信息,提取后的空格对数组处理 一下或者再转为 字符串,用正则处理都可以 多谢大家试用后回来给大家反馈 测试结果都是错误啊
dhlhmgc 发表于 2015-1-6 23:25 http://www.autoitx.com/images/common/back.gif 无法匹配,.*不含换行吧
回复 9# haijie1223 为啥在autoit里面就出错呢?
这样匹配,后面会有空白字符
这样来匹配,后面好像就没有多余的空白字符
半芯竹 发表于 2015-1-6 21:26 http://www.autoitx.com/images/common/back.gif
页:
[1]
2