[質問]正規表現での置換について

  1. 末尾の半角スペースを削除したいと思い、正規表現で
    「\s+$」を空文字に置換をかけました。
    すると思わぬ結果になりました。

    --------------------------------------
    aaa△△△

    aaa△△△
    △△△
    --------------------------------------
    というテキストがあった場合、(△をスペースと見てください)
    --------------------------------------
    aaa
    aaa
    --------------------------------------
    と置換されます。
    期待する結果は、
    --------------------------------------
    aaa

    aaa

    --------------------------------------
    です。
    同じonigurumaという正規表現のライブラリを使用している
    unEditorというのを使用して同じ置換を行うと期待する結果になりました。

    Meryにおいて期待する結果を出したい場合はどのようにすればよいでしょうか。

     |  kei  |  返信
  2. 正規表現の「\s」はスペース、復帰文字、タブ、改行文字などを含みますので、
    改行文字は置換されてしまいます。

    ↓鬼車の仕様(EUC)
    http://www.geocities.jp/kosako3/oniguruma/doc/RE.ja.txt

    UnEditorなどのTEditor系エディタは内部の文字の持ち方が行単位になっているので、
    たまたまうまくいっているんでしょうね。

    > Meryにおいて期待する結果を出したい場合はどのようにすればよいでしょうか。

    「 +$」 (半角スペース+$) でいけると思います。

     |  Kuro  |  返信
  3. 教えていただいた方法で思うような結果が出せました。
    ありがとうございました。

    scriptが使えたり、背景色が透過っぽかったりする所がとても気に入っています。
    これからも使わせていただきますので、よろしくお願いします。

     |  kei  |  返信
  4. > scriptが使えたり、背景色が透過っぽかったりする所がとても気に入っています。
    > これからも使わせていただきますので、よろしくお願いします。

    ありがとうございます。
    背景は壁紙を設定したりすると、なんかテンションあがりますねw
    正規表現での検索も強力かつ高速(たぶん)なので、ぜひ色々試してみてくださいね!

     |  Kuro  |  返信