0

假设我们有一个输入字符串,例如

Nice

我们有模式

D*A*C*N*a*g*.h*ca*e

然后“Nice”将匹配模式。(*表示 0 次或多次出现,.表示一个字符)我认为在这种情况下使用 grep 比 java 更好(也许)。我怎样才能在grep中做到这一点?

4

1 回答 1

0

使用相同的正则表达式:

grep 'D*A*C*N*a*g*.h*ca*e' <<EOF
Nice
EOF

如果输入是“Nicely”,它仍然会打印出来!它是如何工作的?

当前的正则表达式在行中的任何位置查找模式。如果它必须完全匹配(整行),则将锚点添加到行的开始(^)和结束($):

grep '^D*A*C*N*a*g*.h*ca*e$' <<EOF
Nice
Nicely
Darce
Darcy
Darcey
EOF
于 2013-01-27T03:35:10.710 回答