HmJre.dll:前方一致/不一致の組み合わせNo.11639
Iranoan さん 05/02/18 12:09
 
 秀まるおさん今日は、Iranoan です。
 鶴亀の話題ではありませんんが、HmJre.dll のことなので、こちらに書き込
ませて頂きます。C/C++ の数値表記のリテラルを強調表示しようと、
「(?<!0x)(?<=[0-9]+)[ulf]」としたのですが、「0l」の内「0」 も強調表示
されます。やはり、前方一致/不一致両方を使うというのは駄目ですよね(^^;。
 こちらの環境は、Windows98+HmJre.dll Ver.1.13 です。

[ ]
RE:11639 HmJre.dll:前方一致/不一致の組No.11641
秀まるお さん 05/02/18 13:07
 
 その正規表現は、僕の手元のHmJre.dll V1.5ではエラーになります。前方一致
/前方不一致指定は、必ず先頭にないとダメです。

 (?<!...)(?<=...)pattern

 って表記は出来ないです。現状のV1.12でもそれは正常に検索できてないです。

 しいて、こういう前方一致/不一致を任意の位置で指定できるようにってこと
は技術的には可能なんですけど、使い方によってはかなり遅くなります。

 いろいろ他にもネタが溜まってるので、いつか対応予定ってことにさせていた
だきます。

 それとは別に、秀丸の強調表示で、タグ付き正規表現を使って、特定のタグ部
分だけ強調するってのがあればそれで事足りるかもしれません。それはそれでネ
タとしては出ていたと思います。

[ ]
RE:11641 HmJre.dll:前方一致/不一致の組No.11643
秀まるお さん 05/02/18 14:03
 
>  それとは別に、秀丸の強調表示で、タグ付き正規表現を使って、特定のタグ部
> 分だけ強調するってのがあればそれで事足りるかもしれません。それはそれでネ
> タとしては出ていたと思います。

 秀丸ネタとは別に、HmJre.dll側で独自にそういうのをやる手もあります。

 例えば(?\n)みたいな形式を新たにサポートするとして、n部分にはタグの番号
(1〜9)を指定してもらうとして、

 (?\2)(aaa)(bbb)(ccc)

 という形式で検索したら、aaabbbcccにマッチしつつ、実際にマッチした文字
列として返すのはbbb部分だけとか。

 これは対応も楽だし、いいアイデアのようて気がします。

 (正規表現に独自の拡張を入れてしまうのはちょっと気が引けますけど)

[ ]
RE:11643 HmJre.dll:前方一致/不一致の組No.11644
秀まるお さん 05/02/18 14:42
 
 思いついたが吉日ということで、そういう独自拡張をしてしまいました。

 次のHmJre V1.5(秀丸V5.00に添付予定)からそういうことになりますのでよ
ろしくお願いします。

[ ]
RE:11641 HmJre.dll:前方一致/不一致の組No.11646
Iranoan さん 05/02/18 17:44
 
 秀まるおさん今日は、Iranoan です。
>  その正規表現は、僕の手元のHmJre.dll V1.5ではエラーになります。
 取り敢えず、これで十分です。ご説明有り難うございました。

>  それとは別に、秀丸の強調表示で、タグ付き正規表現を使って、特定のタグ部
> 分だけ強調するってのがあればそれで事足りるかもしれません。それはそれでネ
> タとしては出ていたと思います。
 そのネタを出した張本人です(^^;。
http://www.maruo.co.jp/turukame/3/x06148_.html

[ ]
RE:11644 HmJre.dll:前方一致/不一致の組No.11648
Iranoan さん 05/02/18 17:56
 
 秀まるおさん今日は、Iranoan です。
>  思いついたが吉日ということで、そういう独自拡張をしてしまいました。
 相変わらず、早いですね(^^)。
 Ver.1.5 を楽しみにしています。

[ ]
RE:11648 HmJre.dll:前方一致/不一致の組No.11649
秀まるお さん 05/02/18 18:28
 
 ちなみに、目的の検索をするには、

    (?<!(0x|[0-9]))([0-9]+)([ulf])(?\3)

 となるようです(手元のHmJre V1.5だと)。

 (?\3)は(?\2)になるべきかもしれませんが…。

[ ]
RE:11649 HmJre.dll:前方一致/不一致の組No.11650
Iranoan さん 05/02/18 19:30
 
 秀まるおさん今日は、Iranoan です。
>  ちなみに、目的の検索をするには、
>
>     (?<!(0x|[0-9]))([0-9]+)([ulf])(?\3)
>
>  となるようです(手元のHmJre V1.5だと)。
 態々有り難うございます。

 以下戯言
 今回の拡張有り難うございます。
 ただ
> >  それとは別に、秀丸の強調表示で、タグ付き正規表現を使って、特定のタグ部
> > 分だけ強調するってのがあればそれで事足りるかもしれません。それはそれでネ
> > タとしては出ていたと思います。
>  そのネタを出した張本人です(^^;。
> →http://www.maruo.co.jp/turukame/3/x06148_.html
に関しては、「行の強調」なのでやはり秀丸側の拡張も必要のようです。←残念
              ^^

[ ]