2017-02-21 17 views
2

私はchatroomに投稿されたgif画像を取得するための正規表現を見つけようとしています。 GIFは、画像を記述するためにコロンとそれに続くテキストおよび/または数字を使用して掲示されます。チャットルームはこの特定の正規表現を定式化する方法

user1:hello i'm user1 :hi 
user2::heythere1 hi user1 

のように設定されている。この例ではGIFが:hi:heythere1です。

これまでの正規表現はgrep -oE ':[a-zA-Z0-9]+'ですが、これはまた、すべてのユーザ名の後にコロンが続くので、:helloも返されます。この例の:helloはgifではありません。こんにちはというだけの人です。

:hi:heythere1しか返さないようにこの正規表現を変更する方法はありますか?テキストファイル内のすべての行を想定し

+1

ファイル内のすべての行はコロンで始まるユーザー名で始まりますか?ユーザ名もコロンを使用できますか? – codeforester

+0

はいすべての行はユーザー名とコロンで始まります。ユーザー名にはコロンを使用できません。すべてのユーザー名は、小文字または数字で構成されています。 –

答えて

3

は、ユーザー名とコロンで始まる、あなたがこれを行うことが(私はあなたと同じ正規表現を使用している):

cut -f2- -d: file | grep -oE ':[a-zA-Z0-9]+' 

入力:

user1:hello i'm user1 :hi :h2 
user2::heythere1 hi user1 

出力:

:hi 
:h2 
:heythere1