LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1181|回复: 3

请教:一个匹配年和月的正则表达式,看能不能写得更精简:)

[复制链接]
发表于 2007-7-21 10:45:19 | 显示全部楼层 |阅读模式
年月如:200707格式,我的正则表达如下,年份到7~9:
  1. echo 200707|grep "200[7|8|9][0|1][0-9]|egrep -v "200[7|8|9]00|200[7|8|9]1[3-]"
复制代码

#请教下各位DX,能否在一个pattern中写完所有匹配,谢过先了:)
#后面主要是排除200[7|8|9]00和20071[3-9]这样的月出现,
 楼主| 发表于 2007-7-21 17:10:34 | 显示全部楼层
自已修改了一下,不过还是不能在一个pattern中,如下:
  1. echo 200707|grep "200[7|8|9][0|1][0-9]|egrep -v "200[7|8|9](00|1[3-])"
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-7-22 21:08:03 | 显示全部楼层
echo 200707 | egrep "200[789](0[1-9]|1[012])"

或者

echo 200707 | grep -E "200[789](0[1-9]|1[012])"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-23 14:32:59 | 显示全部楼层
Post by springwind426
echo 200707 | egrep "200[789](0[1-9]|1[012])"

或者

echo 200707 | grep -E "200[789](0[1-9]|1[012])"


赞一个,从chinaunix 到linuxsir,springwind兄总能给人精典的回答!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表