[ 新規に投稿する ]

昨日一昨日No.00511
Alter Ego さん 18/07/19 11:51 [ コメントを投稿する ]
  昨日
一昨日



replaceallfast "昨日", "昨日(きのう)", casesense,incolormarker, regular; //
replaceallfast "一昨日", "一昨日(おととい), casesense,incolormarker, regular; //

というマクロで置換すると、

昨日(きのう)
一昨日(きのう)(おととい)

になってしまうので、

replaceallfast "昨日", "昨日(きのう)", casesense,incolormarker, regular; //
replaceallfast "一昨日(きのう)", "一昨日(おととい)", casesense,incolormarker, regular; //

としているのですが、もっとシンプルな書き方はありますか?

[^一]昨日とか(?!一)昨日とすればうまくいくのかな?と思いましたが、

replaceallfast "[^一]昨日", "昨日(きのう)", regular;//
replaceallfast "一昨日", "一昨日(おととい)", regular;//

としても、昨日(きのう)の置換をしてくれません。
[ ]
RE:00511 昨日一昨日No.00512
秀まるお さん 18/07/19 22:13 [ コメントを投稿する ]
   「一昨日」にはヒットしないで、「昨日」にはヒットさせるには、

    (?<!一)昨日

 のような正規表現パターンを使えばいいです。

 前方不一致指定というやつになります。

 replaceallfast "(?<!一)昨日", "昨日(きのう)", casesense,incolormarker, regular; //
 replaceallfast "一昨日", "一昨日(おととい)", casesense,incolormarker, regular; //

 ってな具合でどうでしょうか。
[ ]
RE:00512 昨日一昨日No.00513
Alter Ego さん 18/07/22 17:58 [ コメントを投稿する ]
  うまくいきました。ありがとうございます。
色々組み合わせを試したつもりでしたが、抜けていたようです。
[ ]

[ 新規に投稿する ]