1

我希望正则表达式^[a-z]*$不匹配random$something

但是,当我在 shell 上尝试时,这匹配:

~# echo "random$something" | grep "^[a-z]*$"
random

~# echo "aaaaa$something" | grep "^a*$"
aaaaa

为什么会这样?

我在 Solaris 和 RedHat Linux 上都看到过这种情况。

4

1 回答 1

4

请注意,如果您只是这样做

echo "aaaaa$something"

没有grep,结果是

aaaaa

这是因为 shell 试图将 $something 解释为变量。如果将双引号更改为单引号,您将看到预期的行为;那是没有结果的。

于 2012-11-21T14:00:08.180 回答