我正在尝试找到一个匹配1到999之间任意数字的正则表达式。我只允许使用grep,它应该只有一个表达式,这意味着我的老师认为这是不可接受的:
grep -e '^[0-9]$' -e'^[0-9][0-9]$' -e '^[0-9][0-9][0-9]$' (file name.txt)
你能帮忙吗?
答案 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了解更多信息。