問題ID : 14861 正規表現について

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2022-3-14 22:09
kedamanbou  新米   投稿数: 2
問題ID : 14861
初めまして。

この問題で、grepに引っ掛かるのは
12344だけだと思います

なぜなら、grep '1234.' test.txt と検索したら
.は任意の一文字なので他の条件とは当てはまらないのではないでしょうか。
ご確認のほど、よろしくお願いします。
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2022-3-14 23:10
birdpixy  半人前   投稿数: 7
あれ?と思った時は、実機で試してみると身に付きますよ。
当方の環境で確認してみました。

-------
[ec2-user@ip-10-0-0-146 ~]$ cat test.txt
123
1223
1233
12344
123445
0123499

[ec2-user@ip-10-0-0-146 ~]$ grep '1234.' test.txt
12344
123445
0123499
-------
解答と同じになりました。

解説に
「grepコマンドはファイルや標準入力から、正規表現のパターンにマッチする文字列を"含む"行を抽出します。」
とあるように「1234.」の前後に文字が入っていても出力されます。

ちなみに行末を指定する「$」をつけると、「12344」しか出力されません。
-------
[ec2-user@ip-10-0-0-146 ~]$ grep '1234.$' test.txt
12344
-------
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2022-3-18 14:25
kedamanbou  新米   投稿数: 2
birdpixyさん
ご回答ありがとうございました。

当方の環境でも同じように出ました。
今度から、実機でやってみることにします。
ありがとうございました。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.