|
あくつです。
通常、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 とかややこしそう。(^^;)
|
|