テキストファイルを作成し、その中にいくつかの電子メールアドレスを入れました。それから私はそれらを見つけるために努力します。それは動作します:
# pattern="^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-z]{2,}"
# grep -E $pattern regexfile
ただし、拡張正規表現の-Eオプションを保持する限り。 -Eオプションなしでgrepを使用するには、上記の正規表現をどのように変更する必要がありますか?
答え1
電子メールアドレスを一致させることは、現在持っているものよりはるかに困難です。バラより 「正規表現をマスターする」本から抜粋
*
ただし、あなたの質問に答えるには、基本正規表現の数量子は、または \+
(\{m,n\}
バックスラッシュを含む)のいずれかでなければなりません。
pattern='^[a-zA-Z0-9]\+@[a-zA-Z0-9]\+\.[a-z]\{2,\}'
grep "$pattern" regexfile
パターン変数を引用する必要があります。