heroxianf 发表于 2016-3-1 14:46:46

正则获取以日期开头的行[已解决]

本帖最后由 heroxianf 于 2016-3-1 16:08 编辑

2016-02-28        app        7        5        5        956.38        40.00        0.00        1        0.00        --
          2016-02-28        app        5        5        5        110.99        80.00        0.00        0        0.00        --


这些是被记录在TXT里,都是以2016-02-28开头,如何通过正则获取TXT中所有这些内容。后边有汉字!详情见附件

heroxianf 发表于 2016-3-1 15:15:44

(?s)(?<=\n)\s.*?(?=\n)

我使用它搞定了,请大家看看是否有什么不妥的地方

afan 发表于 2016-3-1 15:20:43

2016-02-28\V+

heroxianf 发表于 2016-3-1 15:41:38

回复 3# afan

谢谢A大,   我感觉我每次都把问题复杂化了,笨到家了!{:1_601:}

heroxianf 发表于 2016-3-1 15:47:21

回复 3# afan

A大,如果前面日期是变化的呢?   2016-01-01    第二行就是2016-02-02了 如何处理呢?

afan 发表于 2016-3-1 15:50:37

回复 4# heroxianf


    呵呵,人就得简单点活着~~
要获得同样的结果,如果源不同,表达式也可以不同,应从最简单的匹配着手,如果源的变化规律不变,也就没必要考虑各种形态的匹配,满足即可。
就此例而言,源里面2016-02-28的都是需要的,那又何必想别的呢?
如果日期出现在中间,且是不需要的行,那就前面加个^\s*
如果是别的日期,可以将日期部分改为 [\d\-]{10}

heroxianf 发表于 2016-3-1 15:53:32

回复 6# afan


谢了,还是把笨方法贴出来让大家多参考\d{4}-\d{2}-\d{2}\V+
页: [1]
查看完整版本: 正则获取以日期开头的行[已解决]