Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 特定数字长度的Bash正则表达式_Regex_Bash - Fatal编程技术网

Regex 特定数字长度的Bash正则表达式

Regex 特定数字长度的Bash正则表达式,regex,bash,Regex,Bash,因此,我试图在作为参数输入到脚本中的两组数字之间进行识别。一个是电话号码,一个是打印mongodb日志的限制。我能想到的最简单的方法是,如果号码超过7位,很可能是一个电话号码,因为打印mongo结果的可能性很小 我正试着把这个写进一个案例陈述中 case "$1" in regex here ) echo "not msisdn";; regex here ) echo "msisdn";; *) echo "not found";; esac 我想把它转换成一个字符串并检查长度

因此,我试图在作为参数输入到脚本中的两组数字之间进行识别。一个是电话号码,一个是打印mongodb日志的限制。我能想到的最简单的方法是,如果号码超过7位,很可能是一个电话号码,因为打印mongo结果的可能性很小

我正试着把这个写进一个案例陈述中

case "$1" in

 regex here ) echo "not msisdn";;

 regex here ) echo "msisdn";;

 *) echo "not found";;

esac
我想把它转换成一个字符串并检查长度可能是最简单的,因为我似乎找不到任何关于如何找到输入的位数的合适信息


编辑:我应该注意到,我正在考虑将所有这些放在一个if语句中,但我将检查的不仅仅是这些情况,而且我认为if语句将变得非常冗长。我正在创建的脚本已经基本上是ifs了,所以尝试对其进行一些修改。如果我错了,请告诉我

case
不支持正则表达式;通配符语法是一种能力较弱的形式主义,称为globpatterns 1

现在还不清楚非数字输入或空输入是否应该分开处理,但这至少可以让您开始



1有些人会认为globs是一种严格限制的regexe形式。我当然不同意,因为这比有用的IMHO更令人困惑——几个元字符有完全不同的语义,剩下的大致相同的是静态部分,而不是实际有用的模式。

case
不支持正则表达式;通配符语法是一种能力较弱的形式主义,称为globpatterns 1

现在还不清楚非数字输入或空输入是否应该分开处理,但这至少可以让您开始


1有些人会认为globs是一种严格限制的regexe形式。我当然不同意,因为这比有用的IMHO更让人困惑——几个元字符有完全不同的语义,剩下的基本相似的是静态部分,而不是实际有用的模式。

${1}包含
$1
的长度。所以也许只是

if (( ${#1} > 7 )) ; then
    echo Phone number
else
    echo Too short for a phone number
fi
${1}
包含
$1
的长度。所以也许只是

if (( ${#1} > 7 )) ; then
    echo Phone number
else
    echo Too short for a phone number
fi

太好了,谢谢!我不知道地球仪。我会调查更多的。太好了,谢谢!我不知道地球仪。这是我最初想做的,但我仍在学习bash,我的脚本已经有很多if了。我想改变一下。我将有多个其他参数,我希望他们是可互换的,这样他们可以在任何顺序输入或省略,如果不需要。我认为使用ifs会让事情变得一团糟。这是我最初想做的,但我仍在学习bash,我的脚本已经有很多ifs了。我想改变一下。我将有多个其他参数,我希望他们是可互换的,这样他们可以在任何顺序输入或省略,如果不需要。我认为使用ifs会让事情变得一团糟。