正規表現を使った部分文字列置換の方法

  1. 置換対象テキストは以下の2行だとします。
    aaa bbbb cccc xxx
    * 111 222 3333 xxx

    検索する文字列:(^[ ]+[*]+.*)(xxx)$

    置換後の文字列:$1XXX

    期待する置換後の対象テキスト
    aaa bbbb cccc xxx
    * 111 222 3333 XXX

    これをMeryで実施したいのですが、どこが間違っているか教えてください。

     |  moto  |  返信
  2. 確認してみたところ、私の環境では期待どおりの置換結果が得られました。

    ただ、2 行目の先頭にある半角スペースが消えているように見えたので、念のため置換条件をもう一度記載させていただきますね。(ちなみに、2 行目の先頭は半角スペースで合っていますか?)

    • 置換対象のテキスト
    aaa bbbb cccc xxx
     * 111 222 3333 xxx
    
    • 検索する文字列: (^[ ]+[*]+.*)(xxx)$
    • 置換後の文字列: $1XXX

    この条件で [すべて置換] を実行したところ、以下の結果になりました。

    aaa bbbb cccc xxx
     * 111 222 3333 XXX
    

    検証に使用した環境は以下のとおりです:

    Mery: 3.7.15 (x64)
    Onigmo: 6.2.0
    C/Migemo: 1.3
    Tidy: 5.8.0
    Hunspell: 1.7.1
    uchardet: 0.0.8
    アウトライン: 3.2.3 (Outline.dll)
    OS: Windows 11 (Version 24H2, OS Build 26100.3915, 64-bit Edition)

    また、「鬼車モード」でも同じ結果が得られました。

    念のためですが、[大文字と小文字を区別する] オプションがオフ、[正規表現] オプションがオンになっていることもご確認いただければと思います。

     |  Kuro  |  返信
  3. > 念のためですが、[大文字と小文字を区別する] オプションがオフ、[正規表現] オプションがオンになっていることもご確認いただければと思います。

    すみません、[大文字と小文字を区別する] オプションは関係なかったですね。[正規表現] オプションをご確認いただければと思います。

     |  Kuro  |  返信
  4. ご回答ありがとうございます。
    私の方でも改めて確認したところ部分置換できました。
    早とちりで申し訳ございませんでした。

     |  moto  |  返信
スポンサーリンク