论坛首页 入门技术论坛

请教一个正则表达式的写法

浏览 1465 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-08  
有这样一个文件
   1
      2
   5
	6
	5+
5


要求过滤出前面带有空格的5,我用这个式子
grep \s*5

得到的结果是3个含'5'的行,问题是最后一行的5前面没有空格,我不想输出这一行,不知道如何写?
   发表时间:2009-07-09  
*表示零或多个,如果要至少一个可以用+。

这个帖子或许应该发到问题区?
0 请登录后投票
   发表时间:2009-07-10  
那麻烦版主帮忙移动一下。

用+出来的结果不对。
grep \s+5 

出来的结果是空,一行也没有过滤出来,不知道为什么。
0 请登录后投票
   发表时间:2009-07-10  
那就用\s\s*5,我倒是没理解为什么+不行,回头试一下
0 请登录后投票
   发表时间:2009-07-10  
刚刚man了一下,+属于posix extended regular expression,你用egrep或者grep -e应该就可以了。
0 请登录后投票
   发表时间:2009-07-15  
像 grep -e \s+5 或者egrep \s+5这样过滤的结果为空,但是把\s替换为[ ]是可以的。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics