hatogayaさんの投稿一覧
助け合いフォーラムの投稿
2023/09/27
返信
[grep -E '17:[0-9]+:[0-9]+' system.log]の選択肢について
[ 0 - 9 ] [ 0 - 9 ] : [ 0 - 9 ] [ 0 - 9 ]
を拡張正規表現の + を使用して、記述を短くしている。
[ 0 - 9 ] + : [ 0 - 9 ] +
[ 0 - 9 ] が [ 0 ]でも、次の[ 0 - 9 ]は前の[ 0 ]とは関係なく、[ 0 - 9 ]で0~9のいずれか
[ 0 - 9 ] と [ 0 - 9 ]
0 と 1
1 と 2
4 と 5
あくまでも[ 0 - 9 ]の範囲に含まれているどれか1つの文字列を2回、別々に出している。
2023/09/27
返信
[grep -E '17:[0-9]+:[0-9]+' system.log]の選択肢について
例1)1から5までのいずれかの文字がある行を「test.txt」ファイルから抽出する場合
$ grep '[1-5]' test.txt
1から5までのいずれかの文字
[1-5]
0から9までのいずれかの文字
[0-9]
△から△までの範囲のいずれかの文字
[ △ - △ ]
いずれかの文字を出すを繰り返すからでは?
0から9の範囲の1文字のいずれかを
繰り返す。
[0-9]が 0 のとき + で 0
ではなく
[0-9]の範囲のどれか1つ
を直前の文字として、1回以上繰り返す。のでは?
[0-9]かとが 0 なので
+は「直前の文字を1回以上繰り返し」だから、もう一回、0 ではなく
直前の[0-9] が 0 だったけども
- は
直前の文字を1回以上繰り返し
は
直前に出た 0 をもう1回繰り返す
のではく
直前に行った [0-9] 0から9の範囲のうちの1つの数字を出す、という事をもう一回繰り返す。
grep -E '17:[0-9]+:[0-9]+' system.log
合格体験記の投稿
投稿がありません