我很好奇如何匹配负数,特别是 -20 到 19。我对 bash 还很陌生,以前从未尝试过负数。
问问题
208 次
2 回答
3
使用算术(似乎更好的方法):
NUM="-20"
if [[ $NUM -gt -21 && $NUM -lt 20 ]];
then
echo "OK"
else
echo "FAIL"
fi
否则,如果您真的想使用正则表达式:
NUM="20"
if [[ $NUM =~ ^(-(20|1[0-9]|[1-9])|1?[0-9])$ ]];
then
echo "OK"
else
echo "FAIL"
fi
于 2013-04-10T17:13:46.497 回答
1
试试这个正则表达式:
(-(20|1[0-9]|[1-9])|1?[0-9])
于 2013-04-10T17:07:05.790 回答