小编Pet*_*rek的帖子

bash正则表达式不匹配"至少n次但不超过m"

我正在尝试匹配字符串,如:"+ 99"," - 82","5","auto"和"max"== auto和max和数字(让我们说整数)有或没有符号

我试过正则表达式

var='^([+|-]{0,1}[0-9][0-9]*)|(auto)|(max)$'

但它在"至少n次但不超过m"的情况下失败,在我的情况下{0,1}无论如何我测试了var ='ab {0,1}'和var ='ab {2}'并且这些没有不工作

我没有得到任何感情,但我认为下一个问题可以通过这些:()

我正在使用#!/ bin/bash版本4.2.24(1)

提前致谢!

edit1: 我不知道如何将这个正则表达式分组正如Karoly Horvath建议的那样工作.我正在使用我在某个地方找到的这个检查功能.

#!/bin/bash

INTEGER_MAX='^([+-])?[0-9][0-9]*$'

function isNumeric() { 

    check=`echo $1 | sed "s/\($2\)//"`

    if [ -z ${check} ]; then
        return 0
    else
        return 1
    fi
}

isNumeric "$1" "$INTEGER_MAX" && echo "passed"
Run Code Online (Sandbox Code Playgroud)

edit2 - 求助

它正在使用

RE='(^([+-])?[0-9]+$)|(^auto$)|(^max$)'

测试

[[ $string =~ $pattern ]] && echo "passed"

谢谢!

regex bash shell

3
推荐指数
1
解决办法
3343
查看次数

将正确的上下文传递给greendao的OpenHelper构造函数

如果我理解正确,在使用DB时,我必须执行以下操作

DaoMaster.OpenHelper helper = new DaoMaster.OpenHelper(this, "test-db", null) {

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        }
    };
    SQLiteDatabase db = helper.getWritableDatabase();
    DaoMaster daoMaster = new DaoMaster(db);
    daoSession = daoMaster.newSession();
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在不扩展活动或服务的类中执行此操作,我只是无法通过其上下文.

什么是正确的方法来打开我的数据库?它应该在哪里完成?

如果你能提供除官方greendao之外的一些教程链接(我在那里找不到答案),那就太好了.

android greendao

3
推荐指数
1
解决办法
2491
查看次数

getopts 没有提供参数

如何检查是否没有提供必需的参数?我发现 switch case 中的 ":" 选项应该足以达到这个目的,但它永远不会进入那种情况(代码块)。我是否将“冒号”放在开头或其他地方都没有关系。

我的代码:

while getopts :a:b: OPTION;
do
     case "$OPTION" in
         a)
             var1=$OPTARG
             ;;
         b)
             var2=$OPTARG
             ;;
         ?)
             exitScript "`echo "Invalid option $OPTARG"`" "5"
             ;;
         :)
             exitScript "`echo "Option -$OPTARG requires an argument."`" "5"
             ;;
         *)
             exitScript "`echo "Option $OPTARG unrecognized."`" "5"
             ;;
     esac
done
Run Code Online (Sandbox Code Playgroud)

提前感谢。

bash getopts

2
推荐指数
1
解决办法
3060
查看次数

标签 统计

bash ×2

android ×1

getopts ×1

greendao ×1

regex ×1

shell ×1