我希望正则表达式^[a-z]*$
与random$something
然而,当我在shell上尝试它时,这匹配:
~# echo "random$something" | grep "^[a-z]*$"
random
~# echo "aaaaa$something" | grep "^a*$"
aaaaa
为什么会这样?
我在Solaris和RedHat Linux上都看过这个。
答案 0 :(得分:4)
请注意,如果您只是
echo "aaaaa$something"
没有grep,结果是
aaaaa
这是因为shell试图将$ something解释为变量。 如果您将双引号更改为单引号,您将看到预期的行为;这没有结果。