要望: $を単語の検索の区切りとする/しNo.03316
inouen さん 03/10/26 23:38
 
秀丸担当様
assembler/java等で '$' を alphabetと同様にシンボルに使用可能な場合
単語の検索で改良して頂きたい点がありますので御検討お願いします。

"$abc" の単語の検索/grepする場合は "$abc"を選択した後実行することで問題ない
のですが、
"abc" の単語の検索/grepする場合に "$abc", "abc$xyz"等も検索されてしまいます。

そこで '$'を単語の区切りとするか、alphabet文字と同様に取扱うかの
選択を指定可能として頂きたいのです。

たとえば動作環境、高度な編集の一項目として指定するようにして頂いたらと思いま
す。
遅れましたがよろしくお願いします。



[ ]
RE:03316 要望: $を単語の検索の区切りNo.03317
安久津 さん 03/10/27 10:30
 
あくつです。

通常、gawk/egrep や perl/ruby で単語の検索をする場合、
\< と \> や \b を使います。
これは、単語の構成文字クラスが [0-9A-Za-z_] の場合にだけ有効です。
/\<word\>/ とか m/\bword\b/ です。

後読み/先読みを使ってもできます。
(?<![0-9A-Za-z_])word(?![0-9A-Za-z_])

一般に単語の構成文字クラスが c であるなら、単語 w の検索は次のようにできます。
(?<!c)w(?!c)

>assembler/java等で '$' を alphabetと同様にシンボルに使用可能な場合
>単語の検索で改良して頂きたい点がありますので御検討お願いします。
>
>"$abc" の単語の検索/grepする場合は "$abc"を選択した後実行することで問題ない
>のですが、
>"abc" の単語の検索/grepする場合に "$abc", "abc$xyz"等も検索されてしまいます。

この場合、
c は、[0-9A-Za-z_$] です。
w は、abc です。
よって、
(?<![0-9A-Za-z_$])abc(?![0-9A-Za-z_$])
で検索すれば、"$abc", "abc$xyz" にはマッチしません。

#「単語の検索」自体、改良されればそれでいいです。
# wordleft, wordright, selectword とかややこしそう。(^^;)

[ ]
RE:03316 要望: $を単語の検索の区切りNo.03318
秀丸担当 さん 03/10/27 18:12
 

>そこで '$'を単語の区切りとするか、alphabet文字と同様に取扱うかの
>選択を指定可能として頂きたいのです。

'$'だけでなく、他の様々なケースも考えられると思います。
単語の区切りをカスタマイズしたいという要望もありましたが、仕様が混乱しそ
うだったので、V4.00ではやらないことにしました。
今後のバージョンアップで検討していきたいと思います。

[ ]
RE:03318 要望: $を単語の検索の区切りNo.03326
inouen さん 03/10/28 23:48
 
inouenです。

>
>>そこで '$'を単語の区切りとするか、alphabet文字と同様に取扱うかの
>>選択を指定可能として頂きたいのです。
>
>'$'だけでなく、他の様々なケースも考えられると思います。
>単語の区切りをカスタマイズしたいという要望もありましたが、仕様が混乱しそ
>うだったので、V4.00ではやらないことにしました。
>今後のバージョンアップで検討していきたいと思います。

実現に当たっては関連して検討しなければいけないことが多いのですね。
今後のバージョンアップをよろしくお願いします。

[ ]