我使用以下regex condition
,^
和$
来表示给定模式的开始和结束。
if [[ "$1" =~ ^[[:digit:]]+$ ]]; then
我也写了等同的glob condition
if [[ "$1" == ^+([[:digit:]])$ ]]; then
因为我看到有些人不使用^
and$
就走了,为什么要消除它们?
我使用以下regex condition
,^
和$
来表示给定模式的开始和结束。
if [[ "$1" =~ ^[[:digit:]]+$ ]]; then
我也写了等同的glob condition
if [[ "$1" == ^+([[:digit:]])$ ]]; then
因为我看到有些人不使用^
and$
就走了,为什么要消除它们?
第二个表达式与整数不匹配。你试过了吗?
输出
这是因为对于 shell glob,
==
需要整个模式来匹配字符串,所以^
不需要$
。让我们再试一次,首先使用文字^
并$
包围值:输出
现在没有任何
^
地方$
提到:输出
为了确定,让我们检查几个字符串:
输出