0

次のような1つの入力文字列があると仮定します

Nice

そして、私たちはパターンを持っています

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

その場合、"Nice" がパターンに一致します。(*は 0 回以上の出現を.意味し、1 文字を意味します) この場合、grep を使用する方が Java よりも優れていると思います (おそらく)。どうすればgrepでできますか?

4

1 に答える 1

0

同じ正規表現を使用します。

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

入力が「ナイスリー」の場合でも、それは印刷されます! それはどのように機能しますか?

現在の正規表現は、行の任意の場所でパターンを探します。正確に (行全体) 一致する必要がある場合は、行の開始 ( ^) と終了 ( $) にアンカーを追加します。

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