我想匹配序列job_ +两个数字+ .sh所以我使用了这个正则表达式:ls job_[0-9]{2,}.sh
但结果是:
job_0.sh job_1.sh job_2.sh job_3.sh job_4.sh job_5.sh
job_6.sh ob_7.sh job_8.sh job_9.sh job_12.sh job_22.sh
job_32.sh job_42.sh job_52.sh job_62.sh job_72.sh job_82.sh job_92.sh
不知何故,正则表达式也返回:job_ +一个数字+ .sh
这是一个错误还是我遗失了什么?
由于
答案 0 :(得分:2)
Shell glob模式不是正则表达式因此{2,}
不起作用。您可以使用:
ls job_[0-9][0-9].sh
Shell glob模式将job_[0-9]{2,}.sh
扩展为:
job_
0-9
2
.sh
这就是为什么您在2
.sh
所有文件名的原因