查找匹配1到999之间任意数字的正则表达式

时间:2014-10-11 17:20:33

标签: regex grep

我正在尝试找到一个匹配1到999之间任意数字的正则表达式。我只允许使用grep,它应该只有一个表达式,这意味着我的老师认为这是不可接受的:

grep -e '^[0-9]$' -e'^[0-9][0-9]$' -e '^[0-9][0-9][0-9]$' (file name.txt)
你能帮忙吗?

2 个答案:

答案 0 :(得分:0)

你可以尝试下面的grep命令,

grep -E '^([1-9][0-9][0-9]|[1-9][0-9]?)$' file

答案 1 :(得分:0)

一个简单的解决方案是使用在扩展的posix正则表达式中可用的量词,并且需要-E选项来grep,而不是-e。

\ b代表boudary。

grep -E '\b[1-9][0-9]{,2}\b' file

我建议阅读 regular expression tutorial了解更多信息。