
秀丸の正規表現
http://pc.dearie.jp/hidemaru/replace/14.html
上記URLでメールの正規表現について解説があります。
[A-Za-z0-9\-\.\_]+@[A-Za-z0-9\-\_]+\.[A-Za-z0-9\-\.\_]+
この正規表現でメールの検索をおこなっています。この正規表現は理解出来ます。
.*([a-z0-9\-\.\_]+@[a-z0-9\-\_]+\.[a-z0-9\-\.\_]+)([^a-z0-9@\.\-\_]+).*
キャプチャを使って正規表現でメールアドレスをマッチしているのは理解できます。
なぜ置換で、「\1,」とやっても、メールアドレスのみを取得できないのでしょうか?
実際に秀丸エディタを使ってやってみましたが、メールアドレスのみ取得することができませんでした。
検索ではメールアドレスにマッチするのに、なんでキャプチャが正しく動かないのかがわかりません・・・
No.2ベストアンサー
- 回答日時:
*とか+等は、複数の候補がある場合、できるだけ長く採用しようとします。
これを、「最長一致」とか「貪欲(greedy)なマッチ」とか言います。
http://www.shuiren.org/chuden/teach/hidemaru/sei …
そのサイトにある
> wa_ta_si01@becky_dearie_jp もしくは wa_ta_si02@becky_dearie_jp よ。
が
> 2@becky_dearie_jp,
になってしまうのは、最初の.*がなるべく長くなるようにマッチするためで
.* → wa_ta_si01@becky_dearie_jp もしくは wa_ta_si0
([a-z0-9\-\.\_]+@[a-z0-9\-\_]+\.[a-z0-9\-\.\_]+) → 2@becky_dearie_jp → \1
となるためです。
最近の秀丸では、「ものぐさ」なマッチが使えます。
http://hide.maruo.co.jp/software/hidemaru7/reg.h …
http://www.shuiren.org/chuden/teach/hidemaru/sei …
.*?([a-z0-9\-\.\_]+@[a-z0-9\-\_]+\.[a-z0-9\-\.\_]+)([^a-z0-9@\.\-\_]+).*
とすると
(先頭の).*? → (先頭の空白)
([a-z0-9\-\.\_]+@[a-z0-9\-\_]+\.[a-z0-9\-\.\_]+) → wa_ta_si01@becky_dearie_jp → \1
となり、メールアドレスを取り出すことができます。
しかし、今度は、その後につづく表現が
([^a-z0-9@\.\-\_]+) → もしくは
(末尾の).* → wa_ta_si02@becky_dearie_jp よ。
となってしまい、 wa_ta_si02@becky_dearie_jp を抽出することができなくなります。
いろいろと駆使すればできなくは無いでしょうが、とても複雑な表現になります。
それよりは、そのサイトの後半にあるように、処理を分けた方が簡単でしょう。
※ なお、そのサイトも例をそのままここに書くと、メールアドレスだと判定されてしまうので、変更しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- YouTube 日本語文向けの正規表現が学べるサイトやYouTubeチャンネルがあったら教えてほしいです。 「正規表 6 2022/04/26 07:02
- その他(コンピューター・テクノロジー) 正規表現の置換で数値を合計したいです。 2 2022/10/17 11:01
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Java JAVAの1つの正規表現で上記Textすべてと合致する正規表現を教えてください。 4 2022/11/06 08:46
- gooメール gooメールアドレスを新しくするに当たり 1 2022/09/23 17:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
デートの誘いに対する曖昧な返...
-
結婚相談所のお見合いで一回で...
-
タバコの味ってライターで変わ...
-
ブラックリストの作成基準??
-
なよなよした男性に嫌悪感
-
創価学会などの新興宗教信者の...
-
未成年はzippo購入不可ですか?
-
重曹とクエン酸との見分け方
-
周りから
-
【至急】エクセルで複数のファ...
-
マッチングアプリでマッチした...
-
お見合いをすすめられています
-
【Apache】<Files ~>と<FilesMa...
-
100均 ライター マッチ 経済的...
-
お見合いをしたのですが・・・
-
秀丸の正規表現
-
マッチングアプリで医学部の人...
-
ペアーズって本当に出会えます...
-
親戚の紹介を受けたけど・・・
-
マッチングアプリで知り合った...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
恋愛感情がない相手にも自宅住...
-
初デートのあと返信が極端に遅...
-
マッチングアプリで知り合った...
-
ログファイルを後ろから検索し...
-
タバコの味ってライターで変わ...
-
マッチングアプリでマッチした...
-
気になる人と初デートで嘔吐し...
-
なよなよした男性に嫌悪感
-
【至急】エクセルで複数のファ...
-
マッチングアプリで再マッチし...
-
こいつやお前と呼ぶ男性心理は?
-
デートの誘いに対する曖昧な返...
-
周りから
-
未成年はzippo購入不可ですか?
-
創価学会などの新興宗教信者の...
-
マッチとライター。どちらがコ...
-
女性に質問です、相手のおちん...
-
結婚相談所のお見合いで一回で...
-
お似合いに見える男女ってどん...
-
マッチングアプリで再マッチし...
おすすめ情報