bihex 发表于 2015-1-6 15:54:13

[已解决]再请问一个正则表达式提取换行的问题,\s为什么不匹配呢

本帖最后由 bihex 于 2015-1-7 12:52 编辑

想匹配下面红色的部分,".*操作\s.{4}(.*)\s .*掌柜.*"这个为什么不行呢,测试的时候可以,但是不输出
-----------以下是文件-------------------
商品信息         单价        操作

    【1组2瓶装】油污净厨房去油强力抽油烟机清洗剂去重油污清洁剂
    掌柜:太美环宝青岛专卖店
    店铺详情>>

netegg 发表于 2015-1-6 19:07:21

楼主,重新组织语言,看不懂

半芯竹 发表于 2015-1-6 20:49:37

{:face (207):}同意一楼。。。看到这样的内容,表示无语。求高手。

半芯竹 发表于 2015-1-6 20:49:37

{:face (207):}正则不是这样用的,亲。。。。洗洗睡吧。

bihex 发表于 2015-1-6 21:04:40

标题

想匹配下面红色的部分,用下面这个正则表达式为啥不行呢

".*操作\s.{4}(.*)\s .*掌柜.*"

用在线正则表达式工具测试的时候可以匹配出来,但是在autoit里面就不行没有任何不输出,
------ ...
bihex 发表于 2015-1-6 15:54 http://www.autoitx.com/images/common/back.gif

bihex 发表于 2015-1-6 21:06:39

想匹配“操作”和掌柜之间的部分

afan 发表于 2015-1-6 21:17:15

(?m)^\h+(\V+)\v+\s+掌柜

半芯竹 发表于 2015-1-6 21:26:23

本帖最后由 半芯竹 于 2015-1-6 21:54 编辑



这样匹配,后面会有空白字符



这样来匹配,后面好像就没有多余的空白字符

haijie1223 发表于 2015-1-6 21:54:42

回复 6# bihex (?s)操作(.*?)掌柜

dhlhmgc 发表于 2015-1-6 23:25:06

#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:26:27

测试可用了,也可提取多个关键字内的信息,提取后的空格对数组处理 一下或者再转为 字符串,用正则处理都可以

bihex 发表于 2015-1-7 06:05:40

多谢大家试用后回来给大家反馈

bihex 发表于 2015-1-7 12:25:24

测试结果都是错误啊


dhlhmgc 发表于 2015-1-6 23:25 http://www.autoitx.com/images/common/back.gif

bihex 发表于 2015-1-7 12:25:59

无法匹配,.*不含换行吧


回复 9# haijie1223

bihex 发表于 2015-1-7 12:35:24

为啥在autoit里面就出错呢?


这样匹配,后面会有空白字符



这样来匹配,后面好像就没有多余的空白字符
半芯竹 发表于 2015-1-6 21:26 http://www.autoitx.com/images/common/back.gif
页: [1] 2
查看完整版本: [已解决]再请问一个正则表达式提取换行的问题,\s为什么不匹配呢