助け合いフォーラム
トピック一覧に戻るトピック タイトル
問題ID:35872
フォーラム
最強WEB問題集LinuC/LPIC Lv1 101
投稿ユーザ(投稿日)
(2020/5/22)本文
拡張正規表現「+」に関する質問です。
問題の内容としては、
「system.log」ファイルから17時台(時刻)を表す行のみ抽出するコマンドを選択するのですが、以下の2択が正解となっております。
1
grep -E '17:[0-5][0-9]:[0-5][0-9]' system.log
2
grep -E '17:[0-9]+:[0-9]+' system.log
この2が正解とされていることについて、以下の解説がありました。
-------------------------------------------
「+」は直前の文字の1回以上の繰り返しなので、「17:00:00」から「17:99:99」の範囲を抽出します。
-------------------------------------------
ただ、拡張正規表現である「+」は「直前の文字の1回以上の繰り返し」を表すので、例えば「17:0:0」といった文字列を含む行も抽出されてしまうと認識しているのですが、何故上記の解説にあるような抽出範囲になるのでしょうか?
ご教示いただけましたら幸いです。
何卒よろしくお願いいたします。
レス一覧
トピック一覧に戻る
フォーラムTopへ
Copyright (c) 2010
Ping-t All rights reserved.