質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

解決済

2回答

1210閲覧

正規表現を使ってテキストファイルからメールアドレス以外の情報を除外したい

Takk0305

総合スコア15

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2017/07/26 04:25

編集2017/07/26 04:34

###前提・実現したいこと
正規表現を使って以下のようなテキストファイルからアドレス以外の情報を除外したいです。

⬛テキストファイル例

・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・ ・・・AAA@example.com・・・・・・ ・・ BBBB@example.com・・・・ ・・・・・・・・CCC@example.com ・・・・・・・・・・・・

⬛完成形例

空行 空行 AAA@example.com 空行 BBBB@example.com CCC@example.com 空行

###発生している問題・エラーメッセージ

([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)

Emeditorの検索機能をつかって上記の内容でアドレスの抽出はできるのですが、
何行目にアドレスが入っているかも保持したいので、使えませんでした。

(?!([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+))

そこで上記のような形で否定の正規表現を作り、
空白と置換する形をとってみましたがうまく行きませんでした。

なにか良い方法があれば恐れ入りますが、ご教授くださいませ。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

EmEditorなら、「ファイルから検索」を利用すればいいですよ。
複数のファイルからの検索で、正規表現を利用できて、検索行も出力されます。

([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)

を実際に試してみましたが、問題なく抽出できました。

投稿2017/07/26 06:35

zohnam

総合スコア1441

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

否定先読みは文字列を消費しません。

検索表現: ([\da-zA-Z_-.]+@[\da-zA-Z_-]+(?:\.[\da-zA-Z_--]+)+)|. 置換表現: \1

Re: Takk0305 さん

投稿2017/07/26 04:36

編集2017/07/26 06:36
think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takk0305

2017/07/26 06:15

申し訳ございせん。うまく理解することができませんでした。もう少し具体的に回答を頂くことは可能でしょうか。
think49

2017/07/26 06:25

具体的な正規表現を書いたつもりですが、EmEditorでは使えなかったという事でしょうか。
Takk0305

2017/07/26 06:28

はい、そのまま利用すると「\w」でエラーが発生致しましたので、 「^(?!.*?[a-zA-Z0-9.]+@[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)+).*$」で試してみましたが、アドレスとそれ以外両方ヒットしてしまいました。
think49

2017/07/26 06:36

修正した正規表現を親記事に書きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問