正则表达式 - >匹配000001和999999之间的数字

时间:2018-06-10 19:49:38

标签: regex linux bash shell

我在Linux上,我需要做一个expr才能匹配 6位,此范围: 000001至999999

我坚持使用 func startOver() { questionNumber = 0 nextQuestion() } ,但我无法匹配以0结尾的数字,如000010 我正在考虑'[0-9]{5}[1-9]'以消除" 000000"

我如何使用'[0-9]{6}|?![0]{6}'和/或是否还有其他解决方案?

编辑:解决方案= ?!

2 个答案:

答案 0 :(得分:1)

使用正则表达式检查数字是否在范围内不是最佳选择。相反,您可以使用

检查输入长度以及是否在范围内
a=000001
if ((${#a} == 6 && a > 0 && a <= 999999));  then
  echo "foo"
fi

答案 1 :(得分:0)

solution = ((?!000000)[0-9]{6})