半角カナの正規表現No.02456
はら さん 99/01/29 12:14
 
質問ばかりのはらです。

マクロで半角カナな文字を全角に変換しようと思って
search "[。-゜]*",regular したら
#""内の文字は正確には半角です。
半角の数字やアルファベットまでひっかかってしまいました。

これ、マクロのときだけ起こるんですね。
コマンドで試したときには起こりませんでした。

で、
search "[。「」、・ヲ-ン゛゜]*",regular にしたら
#もちろん正確には半角で書いてます。
半角数字やアルファベットは引っかからなくなったのですが
こんどは一部の漢字がひっかかってしまいました。

解決方法はあるでしょうか?



[ ]
RE:02456 半角カナの正規表現No.02457
番頭++ さん 99/01/29 12:47
 
>解決方法はあるでしょうか?

回避策ですが、

searchdown "[。-゚]*", regular;
これが仕様ではどうかは判りませんが、

searchdown "[。-゚]+", regular;
あちきはのように書きますです。

[ ]
RE:02457 半角カナの正規表現No.02462
はら さん 99/01/29 16:37
 
>searchdown "[。-゚]+", regular;
>あちきはのように書きますです。

なるほど。
確かに少し動きが正しくなりました。
#でもなんでこれが1文字に引っかかるんでしょう。

ところが、まだ少々動作が変だったので
いろいろ試してみたところ、

少なくとも全角の「」。が、半角の同一文字と
区別して検索できないような動きが見られました。

あと、
数字と記号を[]で囲っても、数字と記号の組み合わせ(1.とか)は
選択出来ないこともわかりました。

getsearchした時の文字数が1文字のときの
strlen(searchbuffer)の動きも
ちょっと変な気がします。(きちんと確認したわけではないですが)

で、さらに、
1文字ずつ検索して変換していくしかないのかな、と思って
1文字ずつの検索になるようマクロを書き換えましたら、
数字は指定した文字数に関わらず、該当する最大桁数を検索する、
こともわかりました。

なんか変なんですが、僕のマクロの組み方もあやしいんで
はっきりしたことは言えないです。

[ ]