我在教程中看到了这个表达式,它表示它是一个匹配整数的表达式。
我无法理解这个匹配是一个整数,也不理解( )
用于覆盖-
和[0-9]
的情况。我知道?
是0或1出现的字符[0-9]是任何数字一次。我如何理解其余部分?
答案 0 :(得分:2)
这不是正则表达式。它是一个"扩展的glob" pattern,这是Bash中的可选工具,也可以在Korn shell中使用。在Bash中,您可以使用shopt -s extglob
和read about it in the manual.
答案 1 :(得分:1)
?(-)
表示-
出现一次或零次,因此此模式处理负整数。
+([0-9])
表示一个或多个数字出现;这种模式处理任意长度的整数。
括号围绕+
和?
运算符应该影响的元素。