+ -
当前位置:首页 → 问答吧 → 懒惰匹配不成功...

懒惰匹配不成功...

时间:2011-04-24

来源:互联网

本帖最后由 perlnewbie 于 2011-04-24 16:56 编辑

大家好有如下test.txt  我只要提取ccccc
  1. ajq@laptop ~/Desktop $ cat test.txt

  2. aaaaaaaaaaaaa:bbbbbbbbbbbbbb:ccccc,
  3. ajq@laptop ~/Desktop $
复制代码
用下面这个失败..
  1. perl -ne 'print "$1" while /((?<=:).*?(?=,))/g' test.txt
复制代码
用下面这个命令可以得到ccccc,  但我想知道如果用模式匹配的话是怎么样的呢????
  1. ajq@laptop ~/Desktop $ perl -F: -lane 'print $F[2]' test.txt

  2. ccccc,
  3. ajq@laptop ~/Desktop $
复制代码
下面这么匹配也失败,把bbbbbbbbbbbbbb也弄进来了.:
  1. ajq@laptop ~/Desktop $ perl -lne 'print "$1" while /:(.*?),/g' test.txt
  2. bbbbbbbbbbbbbb:ccccc
  3. ajq@laptop ~/Desktop $
复制代码

作者: perlnewbie   发布时间: 2011-04-24

split /[:,]/;

作者: jason680   发布时间: 2011-04-24

看看正则表达式。

作者: 2gua   发布时间: 2011-04-24