こんな強調表示できますかNo.18994
W.Hiroshi さん 05/03/17 11:18
 
NC工作機械の加工プログラムの編集に使ってます。
機械の動作を指示する命令語というのは、特定のアルファベット一文字に数字二文字
の組み合わせです。
そこで、タイプミスして数字が三文字以上入力されてしまった時すぐ気づくように
(レベルの低い話ではありますが)

[DGHLMT][0-9]{3,} (正規表現)

というのを強調して見ました。
ところが、一台の機械だけ 「G303」というコードを標準で持っていて頻繁に出てき
ます。

そこで、
[DGHLMT][0-9]{3,}
でヒットしたなかで、「G303」という文字列はアルファベットの後数字三桁だけどヒ
ットからはずしたいのですが、そのようなことは出来ますか。

秀丸Ver5.0

[ ]
RE:18994 こんな強調表示できますかNo.18995
ENCODINGSHIFTJIS さん 05/03/17 12:11
 
正規表現の否定は難しいです
強調表示の優先順位(強調1より強調4が上書きになる)
はうまく行きました。

強調1 [DGHLMT][0-9]{3,} (正規表現)
強調2 G303
で 強調2 のカラー表示を 普通文字と同じにする

[ ]
RE:18994 こんな強調表示できますかNo.18996
Kamonohasi さん 05/03/17 13:53
 
こんにちはカモノハシと申します。
否定は面倒ですので、Gだけを特別扱いして「|」でつないではいかがでしょうか
[DHLMT][0-9]{3,}|G[0-9]{2,}[0124-9]
みたいな感じで。

[ ]
RE:18995 こんな強調表示できますかNo.18997
W.Hiroshi さん 05/03/17 14:33
 
>正規表現の否定は難しいです

やはりそうですか。

他にもいろいろカラー表示したい部分がありまして、しかもこの表記にヒットする部
分は、明らかに記述の間違いということになるので他の強調に埋もれてしまわないよ
う「強調4」、色も黄色地に赤のボールドと目立つように設定してあります。

「特に強調1,2」も別の表現で使用しているため、現状では他の強調で上書きとい
うのはちょっと難しいです。
というかこの表現のためだけに「強調表示」を一種類使ってしまうのはもったいない。
「強調」の数をもっと増やしていただければいいのですが

とりあえず、見た目だけの問題なので、我慢して使うしかないのかなと思います。

[ ]
RE:18996 こんな強調表示できますかNo.18998
W.Hiroshi さん 05/03/17 15:03
 
>否定は面倒ですので、Gだけを特別扱いして「|」でつないではいかがでしょうか
>[DHLMT][0-9]{3,}|G[0-9]{2,}[0124-9]
>みたいな感じで。

なるほど、こういう表現も出来るんですよね。
これ使わせていただきます。

実際には、「G」で始まるコードは一番種類が多いので、「G303」の他にも数字3桁
のコードはいくつかあるんですが、それらは普段はほとんど使わないので不都合がで
た時また考えたいと思います。

[ ]
RE:18996 こんな強調表示できますかNo.19000
秀まるお2 さん 05/03/17 15:46
 
 秀丸V5.00に付属のHmJre.dll V1.50以上なら、

   (?!G303)[DGHLMT][0-9]{3,}

 とすればいいです。

[ ]
RE:19000 こんな強調表示できますかNo.19004
W.Hiroshi さん 05/03/17 18:53
 
> 秀丸V5.00に付属のHmJre.dll V1.50以上なら、
>
>   (?!G303)[DGHLMT][0-9]{3,}
>
> とすればいいです。

なるほど、こういう風に使えば良いんですね。
HmJre.dllのヘルプまではたどり着いて、前方不一致とか後方不一致とか、「条件に
一致しないことが条件」というので、何かそれらしいことが出来ないかと思ったので
すが、理解して使いこなす所までは行きませんでした。

皆さんいろいろありがとうございました。

[ ]
RE:18998 こんな強調表示できますかNo.19005
Kamonohasi さん 05/03/17 22:21
 
>なるほど、こういう表現も出来るんですよね。
>これ使わせていただきます。
あ〜、申し訳ないですがあれは例でして、やってみて頂ければ分かると思いますが、
G303だけでなく下一桁が3だとすり抜けます。
>実際には、「G」で始まるコードは一番種類が多いので、「G303」の他にも数字3
>桁のコードはいくつかあるんですが、それらは普段はほとんど使わないので不都合
>がでた時また考えたいと思います。
かなと思ってアイディアだけのつもりで書きました。

でも秀丸5.0の条件を見落としていたので、否定が使えるようになっているのに
気づいていませんでした(汗)
冗長な物になってしまって申し訳ないです。

[ ]