オリジナル問題 LinuCレベル1試験 問題 問24
GNUとUnixのコマンド/正規表現を使用したテキストファイルの検索正規表現のメタ文字「.」と「*」の説明として適切なものはどれか。
出典:オリジナル問題 LinuCレベル1試験 問題 問24
- A「.」は任意の1文字を、「*」は直前の文字の0回以上の繰り返しを表す
- B「.」は行頭を、「*」は行末を表すメタ文字である
- C「.」は任意の1文字以上を、「*」は任意の1文字を表す
- D「*」は直前の文字がちょうど1回だけ現れることを表すメタ文字である
正解:A
解説
「.」は任意の1文字にマッチし、「*」は直前の文字(または直前のかたまり)の0回以上の繰り返しを表します。したがって「.*」は「任意の文字が0個以上続く」という意味になり、あらゆる文字列にマッチします。なお、ファイル名のワイルドカードで使う「*」とは意味が異なる点に注意が必要です。
選択肢ごとの解説
- A正しい。「.」が任意の1文字、「*」が直前の文字の0回以上の繰り返しです。
- B誤り。行頭は「^」、行末は「$」で表します。
- C誤り。「.」は1文字ちょうどにマッチします。
- D誤り。ちょうど1回ではなく、0回以上の繰り返しを表します。