正規表現の差異についてNo.16046
Ryu さん 03/12/09 02:12
 
V3の正規表現ライブラリでは以下の強調表現ができたのですが、
$[{:a-zA-Z_][${}:0-9a-zA-Z_\[\]]*
$[{:a-zA-Z_][$"':0-9a-zA-Z_\[\]]*{[^}]*}
V4の秀丸正規表現ライブラリではできないようです。

どのようにすればよろしいでしょうか?

[ ]
RE:16046 正規表現の差異についてNo.16048
たけのこ さん 03/12/09 08:59
 
一般ユーザのたけのこです。

秀丸の新しい正規表現DLLでは、新しい(または厳密な)表現を採用しているよ
うで、"$"をダラーとして使用したい場合は、エスケープしないと狙い通りにな
らないようです。

正規表現だけで、実際にどんな文字列にマッチさせたいか例示されていないので、
外しているかもしれませんが……。

(^^)/”

[ ]
RE:16046 正規表現の差異についてNo.16050
ていく さん 03/12/09 10:45
 
On Tue, 09 Dec 2003 02:12:26 +0900
Ryu <4xxxxxxxxxxxxxx@maruo.co.jp> wrote:
>
> V3の正規表現ライブラリでは以下の強調表現ができたのですが、
> $[{:a-zA-Z_][${}:0-9a-zA-Z_\[\]]*
> $[{:a-zA-Z_][$"':0-9a-zA-Z_\[\]]*{[^}]*}
> V4の秀丸正規表現ライブラリではできないようです。
>
> どのようにすればよろしいでしょうか?
>
ちなみにその正規表現は Ver 3.xx の秀丸君で
どんな文字列にヒットしますか?

-----
    ^^  teik <xxxx@rd5.so-net.ne.jp>
  ミ・・ミ    ∞    v。。v          
ζ(    )  〜Ω  ミ(     )ミ        

[ ]
RE:16046 正規表現の差異についてNo.16054
秀まるお2 さん 03/12/09 15:04
 
 たけのこさんのコメントの通りのようです。

 「$」の解釈が、HmJre.dllの方が厳格になってまして、その辺は強調表示の定
義自体を修正していただく必要があります。「$」という文字そのものを表現し
たい場合は、「\$」と書かないとダメです。

 ということでお願いします。

 しいて、そういう修正が面倒な場合は、「動作環境・編集・正規表現」の所で
正規表現用のDLLをJRE32.DLLに戻していただく手もあります。

[ ]
RE:16054 正規表現の差異についてNo.16070
Ryu さん 03/12/10 01:38
 
教えていただき、ありがとうございます。

Perlのプログラミングに秀丸を愛用していまして、Perlの変数
表記にHITさせるようにしていました。
使用していたのは以下のものです。

$[{:a-zA-Z_][$"':0-9a-zA-Z_\[\]]*{[^}]*}
$[{:a-zA-Z_][$"'{}:0-9a-zA-Z_\[\]]*
$[1-9'`]
%[{:a-zA-Z_][$"'{}:0-9a-zA-Z_\[\]]*
&[${a-zA-Z_][$"'{}:0-9a-zA-Z_]* *(\([^)]*\)|;)
@[{:a-zA-Z_][$"'{}:0-9a-zA-Z_\[\]]*
\*[{:a-zA-Z_][$"'{}:0-9a-zA-Z_\[\]]*

正規表現中の(最後以外の)$の意味はどのような意味になるのでしょうか?

[ ]
RE:16070 正規表現の差異についてNo.16082
秀まるお2 さん 03/12/10 13:32
 
 「$」は、行末という意味になります。例えば"。$"を検索すると、行末の"。"
にだけヒットします。

 ただし、[]の中で指定する時は、$はそのまま$という文字という扱いになりま
す。(この辺ややこしい)

 行頭は"^"です。

 そういうことで、
 \$[{:a-zA-Z_][$"':0-9a-zA-Z_\[\]]*{[^}]*}
 \$[{:a-zA-Z_][$"'{}:0-9a-zA-Z_\[\]]*
 \$[1-9'`]

 のように直せばいいと思います。

[ ]