如果没记错的话,我曾经能够做到这一点
$ [[ abc123 =~ ([0-9]*) ]] $ 回声 ${BASH_REMATCH[1]}
正如你所看到的,它没有给出带有星号的输出*
。现在它只有在我使用加号时才有效+
。
$ [[ abc123 =~ ([0-9]+) ]]
$ echo ${BASH_REMATCH[1]}
123
编辑看到更多的陌生感。它将匹配字符串的开头,但不匹配字符串的结尾。
$ [[ 123abc =~ ([0-9]*) ]]
$ echo ${BASH_REMATCH[1]}
123