• ベストアンサー

正規表現で最初にマッチしたものだけを選択する方法

秀丸の正規表現を用いて「その行で最初にマッチした単語」だけを取得したいのですが可能でしょうか 一例をあげますと、 検索文字列:ももりんごみかんももりんごみかん とあるとき、左の「りんご」だけを「なし」に置換したいという希望です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> ついでといっては恐縮ですが、(?\2)という部分がどのような意味なのか教えて これより前の部分で、() で囲まれた部分の 2 つ目のみにヒットさせる という意味になります。詳細は、HmJre.dll のヘルプをご覧下さい。 秀丸エディタのヘルプの正規表現の項目からも辿れます。

himura99
質問者

お礼

ご回答ありがとうございます! HmJre.dllのヘルプというものもあったんですね。これを見て勉強します。 本当に助かりました。ありがとうございました!

その他の回答 (1)

回答No.1

> 検索文字列:ももりんごみかんももりんごみかん > とあるとき、左の「りんご」だけを「なし」に置換したいという希望です。  最新版 Ver.8.03 なら出来ます。どのヴァージョンから可能になったかまでは調べていませんが 検索文字列を ^(.*?)(りんご)(.*)(?\2)$ とします 古いヴァージョンではマクロを組む必要があるでしょう

himura99
質問者

お礼

ご回答ありがとうございます。 ご教授いただいた方法で検索が確認できました。 ついでといっては恐縮ですが、(?\2)という部分がどのような意味なのか教えて頂けないでしょうか。 宜しくお願い致します。

関連するQ&A