正規表現の機能&グレップの機能No.20849
マボカル さん 06/02/08 19:20
 
マボカルと申します。以下の会議室で質問させていただきましたが

http://www.maruo.co.jp/hidesoft/4/x05032_.html#5032

秀丸開発の方からの公式回答を頂きたくてご質問いたします。

要約すれば、マクロ内でユニコードの文字を検索する場合、

$code = unichar( 0x9000 );
searchdown $code ;



searchdown "(" + $code1 + "|" + $code2 + ")" , regular;

みたいに書くと検索されましたが、これを [X-X] のように範囲指定
して検索しようとして

$code1 = unichar( 0x9000 );
$code2 = unichar( 0x9fa5 );
searchdown "[" + $code1 + "-" + $code2 + "]" , regular;

こう書いたらエラーが出ます。[ ] の中にユニコード文字が入って
しまっているからと理解しています。HMJRE.dll側でユニコードの
文字に対応していないと考えてよろしいのですよね。

ここでまずご質問ですが、将来的にHMJRE.dllをユニコード対応
にしてもっと強化することはできますでしょうかということです。

もうひとつの質問は、グレップについてですが、韓国語XPの場合、
文字コードの関係で未だに上手くいかない場合があります。つまり
検索は出来てもグレップが出来ない現象がおきるのです。

マクロ内で

searchdown "(" + $code1 + "|" + $code2 + ")" , regular;

と検索はできても、

localgrep "(" + $code1 + "|" + $code2 + ")" , regular;

とグレップをしようとするとエラーがでます。マクロでなくても
グレップは上手くいかない場合がほとんどなので、ローカルコード
(韓国語)の文字コードと深く関係があるのではと思っています。
いろんな現象が起きるので、上手く説明するのが難しいですが、
言語設定を韓国語に直した状態で秀丸英語版の動作を確認すると、
どこに原因があるのかすぐにご理解いただけるかと思います。

よろしくお願いします。





[ ]
RE:20849 正規表現の機能&グレップの機能No.20853
秀丸担当 さん 06/02/09 11:41
 

>localgrep "(" + $code1 + "|" + $code2 + ")" , regular;
>
>とグレップをしようとするとエラーがでます。マクロでなくても
>グレップは上手くいかない場合がほとんどなので、ローカルコード
>(韓国語)の文字コードと深く関係があるのではと思っています。
>いろんな現象が起きるので、上手く説明するのが難しいですが、
>言語設定を韓国語に直した状態で秀丸英語版の動作を確認すると、
>どこに原因があるのかすぐにご理解いただけるかと思います。

$code2 = unichar( 0x9fa5 );とすることで、上記の問題を再現させることがで
きました。
なぜか特定の文字においてコマンドラインで文字列の受け渡しをするときに情報
が失われてしまうことがあるようです。これは問題でした。申し訳ありません。
V5.14で対応できるように修正したいと思います。

HMJRE.dllのUnicode対応については別途回答させていただきます。

[ ]
RE:20849 正規表現の機能&グレップの機能No.20858
秀まるお2 さん 06/02/09 12:56
 
 HmJre.dllでのユニコード対応についてですが、内部の作りは別として、

   [あ-ん]

 のようなケースで、その文字コードの範囲をUnicodeで計算するというような、
そういうことは、対応しようと思えば対応できると思います。

 仮にやるとしたら、例えば

 (?#code-range-by-unicode)[あ-ん]

 と書いたら文字コード範囲をユニコードで計算するとか。

 上記の例はちょっと長すぎるのでなんですが。

 何か適当な文法さえあれば、対応するのはそんなに難しくはないですけど。

 どうしましょ?

[ ]
RE:20853 正規表現の機能&グレップの機能No.20861
マボカル さん 06/02/09 15:23
 
秀丸担当さん

ありがとうございます。

>$code2 = unichar( 0x9fa5 );とすることで、上記の問題を再現させることがで
>きました。
>なぜか特定の文字においてコマンドラインで文字列の受け渡しをするときに情報
>が失われてしまうことがあるようです。これは問題でした。申し訳ありません。
>V5.14で対応できるように修正したいと思います。

上記の例はユニコード内の文字を検索する場合でしたが、互換性に問題
のないアスキー文字についても、条件によってグレップが失敗する場合
があります。

それは多分日本語版XPでは問題が発生しないと思いますが、韓国語版
XP+秀丸英語版の場合は発生します。その規則性がよく見えないの
ですが、いろんな条件でグレップを実行してみると、以下のような場合
に失敗するようです。

1.新規ファイルを開いてそこからグレップを実行する場合。(対象
ファイルを一つ開いて、そこからフォルダの経路指定してグレップを
実行すると成功する)

2.対象ファイルを開いた状態でそこからフォルダの経路を指定して
グレップを実行しても、秀丸エディタのタブモードがOFFになって
いると失敗する。(なぜかタブモードをONにすると成功した)

その他いろんな条件が複合的に問題となっているかと思いますが、
グレップが失敗した場合、上の1や2に気をつけて再度条件を変えて
実行を行うと成功したりします。

検索ファイルの文字コードはユニコードファイルだったり、
韓国語(Hangul)ファイルだったり、SJISだったりいろいろですが、
いずれにしても韓国語版XPで行っているので、問題になっている
と思います。

検索語も日本語だったり韓国語だったりするので、それによっても
検索できたりできなかったりします。以前グレップについて投稿した
http://www.maruo.co.jp/hidesoft/2/x19200_.html#19200
点とも関係がありますが、

現在グレップを行う場合、エンコードの種類を明示的に指定できる
ようになっていますが、私の環境においてはその機能は解決になって
いません。どれを指定しても失敗する場合は失敗するからです。

新漢字と旧漢字のペアがあるものを例に

学/學
悪/惡
真/眞

それぞれ検索してみると新漢字(韓国語のコードには含まれない)は
失敗して、旧漢字(韓国語のコードに含まれる)は成功するのを見ると
ローカルコードにも深く関係しているのかと思いました。

曖昧な状況報告でしたが、こんな感じです。

[ ]
RE:20858 正規表現の機能&グレップの機能No.20862
マボカル さん 06/02/09 15:29
 
秀まるお2さん

>   [あ-ん]
>
> のようなケースで、その文字コードの範囲をUnicodeで計算するというような、
>そういうことは、対応しようと思えば対応できると思います。
>
> 仮にやるとしたら、例えば
>
> (?#code-range-by-unicode)[あ-ん]
>
> と書いたら文字コード範囲をユニコードで計算するとか。
>
> 上記の例はちょっと長すぎるのでなんですが。
>
> 何か適当な文法さえあれば、対応するのはそんなに難しくはないですけど。
>
> どうしましょ?

対応できるのであれば、そのような方法でもお願いします。ちなみに
仮に

(?#code-range-by-unicode)[あ-ん]

みたいな感じで [ ] 内の文字コード範囲をユニコードで計算させる
ようにした場合、 [ ] の中にユニコードにのみ存在する文字をコード
値で書き込むこともできるのですよね。

現在の正規表現では [ ] 内にユニコードの文字を入れると、「 [ ] 内
にユニコードの文字を入れてはいけません」みたいなエラーが出ます
ので・・。

[ ]
RE:20861 正規表現の機能&グレップの機能No.20864
秀丸担当 さん 06/02/09 16:36
 

>それは多分日本語版XPでは問題が発生しないと思いますが、韓国語版
>XP+秀丸英語版の場合は発生します。その規則性がよく見えないの
>ですが、いろんな条件でグレップを実行してみると、以下のような場合
>に失敗するようです。
>
>1.新規ファイルを開いてそこからグレップを実行する場合。(対象
>ファイルを一つ開いて、そこからフォルダの経路指定してグレップを
>実行すると成功する)
>
>2.対象ファイルを開いた状態でそこからフォルダの経路を指定して
>グレップを実行しても、秀丸エディタのタブモードがOFFになって
>いると失敗する。(なぜかタブモードをONにすると成功した)

この症状について確認してみようと試みましたが、よくわかりませんでした。

少なくともV5.13,V5.14βではタブモードかどうかによって動作違うということ
は無いと思います。何か別の条件なのかもしれません。

とりあえず先に言われていた問題を修正してV5.14β2を作ろうと思います。

もし差し支えなければ、お手数ですが問題の起きる複数のファイルをまとめて
メールで送っていただき、秀丸エディタを1から起動してから再現するまで操作
手順などがあると非常に助かります。
送っていただける場合は xxxxxxxx@nifty.ne.jp まで秀丸担当宛であることを書
いて送ってください。

[ ]
RE:20862 正規表現の機能&グレップの機能No.20865
秀まるお2 さん 06/02/09 16:53
 
 文法的にどうするかという問題がありますが…。

 (?#...)というのは、いわゆるコメントを入れるやり方のようでして、それを
使ってしまうか、または何か専用の正規表現パターンを作ってしまうか…。何か
「こうすべきです」とか、「これこれエディタではこういう書き方をします」と
かいう情報があったら教えて欲しいです。>誰か

> 現在の正規表現では [ ] 内にユニコードの文字を入れると、「 [ ] 内
> にユニコードの文字を入れてはいけません」みたいなエラーが出ます
> ので・・。

 これはこれで秀丸エディタが出しているようですが、しいてHmJre.dll側がユ
ニコード文字の[...]対応をするとしたら、上記のエラーも出ないようにしても
らう形になります。

 ということで検討してみます。

[ ]
RE:20864 正規表現の機能&グレップの機能No.20866
マボカル さん 06/02/09 17:50
 
秀丸担当さん

ありがとうございます。

>もし差し支えなければ、お手数ですが問題の起きる複数のファイルをまとめて
>メールで送っていただき、秀丸エディタを1から起動してから再現するまで操作
>手順などがあると非常に助かります。
>送っていただける場合は xxxxxxxx@nifty.ne.jp まで秀丸担当宛であることを書
>いて送ってください。

とりあえず問題となるファイルをお送りしました。ご確認ください


[ ]
RE:20865 正規表現の機能&グレップの機能No.20867
マボカル さん 06/02/09 17:52
 
秀まるお2さん

> 文法的にどうするかという問題がありますが…。
>
> (?#...)というのは、いわゆるコメントを入れるやり方のようでして、それを
>使ってしまうか、または何か専用の正規表現パターンを作ってしまうか…。何か
>「こうすべきです」とか、「これこれエディタではこういう書き方をします」と
>かいう情報があったら教えて欲しいです。>誰か

私も専門的には分かりません。ご検討よろしくお願いします。

[ ]
RE:20866 正規表現の機能&グレップの機能No.20868
マボカル さん 06/02/09 23:07
 
秀丸担当さん

お騒がせしております。

xxxxxxxx@nifty.ne.jp 問題のへ送る前はVer5.14beta1で確認して、
グレップが上手くいかないことがあるのを確認しました。

今Ver5.14beta2を入れて確認したところ、上手くいきますね。実際の
ファイル中にある検索文字列の数とグレップの結果の数が同一であるか
確認していないため、完全に問題が解決されたとは断言できませんが、
以前のような動きから確かに改善されています。

韓国語版XPでグレップが上手くいかない問題は、以前からずっと
あって昔はどうにかしようと色々試行錯誤してテストもしていましたが
最近はどうせ駄目だろうと思って、グレップの確認すら諦めていた
状態でした。

もう少し調べてみないと完全に問題が無いのか分かりませんから引き
続き調べてみます。ちなみに Ver5.14beta2 で問題が発生しなかった
ので Ver5.14beta1 に戻して試してみるとやはりグレップが成功したり
失敗したりしていました。??? 以前私が出した質問のご回答に

>なぜか特定の文字においてコマンドラインで文字列の受け渡しをする
>ときに情報が失われてしまうことがあるようです。これは問題でし
>た。申し訳ありません。V5.14で対応できるように修正したいと
>思います。

とありましたが、この段階で修正が行われたのでしょうか。
少なくとも以下の質問を出した Maruo4.16 の段階では全く駄目でした。
http://www.maruo.co.jp/hidesoft/2/x19200_.html#19200

Ver5.14beta2 のすぐ前またはいくつか前のバージョンでもそのような
問題が出ていたのですが・・。ちなみに Ver5.14beta1 でも日本語は
OKで韓国語はNGという問題ではなく、日本語でも特定の文字列は
OKである文字列はNGとか韓国語でもそのような現象がありました。
文字コードの種類によっても問題が出たり出なかったりといったことも
確かにありました。

全ての問題が解決していればいいことですが、今までどうしてそう
なっていたのか、どこに問題があったのかはっきりとした規則性を
探せずじまいなので、なんだか気持ち悪いですが。

秀丸担当さんのほうでも最新のバージョン、できれば少し古い
バージョンでもお試しいただければと思います。ちなみにXPの言語
環境を韓国語に直すことをお忘れずに。

それから今回の問題について調べるために、新しいバージョンを入れ
たり、その上からまた古いバージョンを入れたり、さらにまたその上に
新しいバージョンを入れなおしたりしていると、インストールの際に
「hidemaru_html.chm -Error at copy file.」と出ましたが、ヘルプ
ファイル関係のメッセージでしょうか?秀丸英語版の動き自体には
影響が無いと思いますが、一応報告しておきます。

[ ]
RE:20865 正規表現の機能&グレップの機能No.20869
h-tom さん 06/02/10 01:10
 

h-tom です。

> 文法的にどうするかという問題がありますが…。
>
> (?#...)というのは、いわゆるコメントを入れるやり方のようでして、それを
>使ってしまうか、または何か専用の正規表現パターンを作ってしまうか…。何か
>「こうすべきです」とか、「これこれエディタではこういう書き方をします」と
>かいう情報があったら教えて欲しいです。>誰か
perlでは、\x{xxxx} という書き方があるようです。
EmEditorもこの方式ですね。
ちなみに、vbscriptや、javaだと\uxxxxみたいです。

秀丸は、マクロで"\uxxxx"を使っているので、"\uxxxx"がいいのかな?

[ ]
RE:20869 正規表現の機能&グレップの機能No.20871
秀まるお2 さん 06/02/10 09:15
 
 とりあえず、ユニコードでもShiftJISでも、ひらがなやカタカナの文字の並び
順は同じみたいなので、あえて「ユニコードとしての文字コードで範囲計算せ
よ」という命令は無くてもいいかなぁと思いました。

 とにかく、[...]の範囲指定でユニコード文字を使っていたら、その文字につ
いてはユニコードで文字コードの範囲を計算するって仕様にしてみます。

 それでは不足で、たしかに「ユニコードで文字コード範囲を計算して欲しい」
という要望もあるってことになったら、秀丸エディタ・マクロでのユニコード文
字の指定方法(\uXXXX)をHmJre.dll側でも対応して、それを[]の中で使ってい
たらユニコードで範囲計算するって仕様にします。

[ ]
RE:20871 正規表現の機能&グレップの機能No.20874
Iranoan さん 06/02/10 12:32
 
 秀まるおさん今日は、Iranoan です。
>  とにかく、[...]の範囲指定でユニコード文字を使っていたら、その文字につ
> いてはユニコードで文字コードの範囲を計算するって仕様にしてみます。
 横から失礼します。
 マクロの時はどうするのでしょう? マクロでは \uXXXX で Unicode の文字
を表せるので、単純にこれを使えばよいのでしょうか?

[ ]
RE:20868 正規表現の機能&グレップの機能No.20875
マボカル さん 06/02/10 12:39
 
秀丸担当さん

韓国語版XPにおける MaruoVer5.14beta2 においてSJIS、Unicodeの
日本語検索に関しては今のところ問題が解決されているように思われ
ますが、Unicodeの韓国語検索に関しては、不正確な結果が出ます。

例えば○○○といった普通の文字列検索では問題ありませんが、
正規表現を使って○○○[●▲]みたいに検索すると、

○○○●
○○○▲

以外にも

○○○■
○○○★

とか、[]でくくられたもの以外の文字にもヒットします。現在の
正規表現の仕様の関係でしょうがないのでしょうか?以前は一般の
検索においては正しく検索されていたと記憶していますが、現在は
検索されるとしてもとにかく何でも検索するといった感じです。

昔と大分仕様が変わっています。

それから検索文字列を入れた後に残る履歴が括弧つきで表示されるのは
どうしてでしょうか。

検索文字入力
●●●●●
検索履歴
(●)(●)(●)(●)(●)

一応検索履歴から(●)(●)(●)(●)(●)を選択しても再び検索は可能
ですが、見た目というか何か変です。

ご確認お願いします。









[ ]
RE:20875 正規表現の機能&グレップの機能No.20876
秀まるお2 さん 06/02/10 13:04
 
 すみません。[...]を使った場合にユニコード文字へおかしくヒットしてしま
う問題は、HmJre.dll側でのユニコード文字への対応が不十分であるためのバグ
だと思います。こちらでテストしても、いくつかおかしくヒットするケースを見
つけてしまいましたので。

 とりあえずそういうことで、HmJre.dll側でのユニコード文字対応の修正を、
僕の方でやります。

[ ]
RE:20874 正規表現の機能&グレップの機能No.20877
秀まるお2 さん 06/02/10 13:06
 
>  マクロの時はどうするのでしょう? マクロでは \uXXXX で Unicode の文字
> を表せるので、単純にこれを使えばよいのでしょうか?

 マクロの時は\xXXXXを使えばいいと思いますが、そういう指定をしたとしても、
例えばそれが結果としてShiftJIS文字コードに変換可能な文字だったとしたら、
ユニコードで文字を指定した意味が無くなります。

 (現在の文字コードが日本語だった場合のケースでは)

 とりあえず、現状で、[...]の中で\uXXXXを使った範囲指定をしたとして、そ
れが果たしてUnicodeとして処理されるか、それとも現在の文字コードとして処
理されるか、それは、その範囲の文字にUnicode文字(というか、現在の文字
コードで表現できない文字)が含まれているかどうかで決まる、というような仕
様とさせていただきます。

[ ]
RE:20868 正規表現の機能&グレップの機能No.20878
秀丸担当 さん 06/02/10 13:16
 

ファイルをいただきました。ありがとうございます。
とりあえず頂いたファイルについて解答させていただきます。
確認してみたのですが、まずどのようにすると問題が起きるか、具体的なことが
わからず再現できないというかわかりませんでした。

1ついえることは、75個のファイルのうち3つだけBOMが無いUnicodeファイル
でした。
BOMが無いと、自動認識されない場合はASCII文字のgrepにも失敗すると思います。

BOMが無くても自動認識させるためには、[ファイル]→[開く]→[自動判定の設
定]→[ファイルの内容を解析してエンコードの種類を自動認識する]の中で
「Unicode(UTF-16)」にもチェックを入れておくと認識できると思います。

BOMが無いファイルにも、名前をつけて保存でBOM付きで改めて保存しておくこと
をお勧めします。

BOMがあるかどうかは、バイナリで見たときにファイルの先頭に FF FE のコード
があるかどうかで判断しますが、秀丸エディタで確認する場合は、[ファイル]→
[開く]で実際に開いてみて開けるかどうかで判断すると早いかもしれません。
BOMの確認の際には、自動認識の「Unicode(UTF-16)」のチェックは外した状態で
確認してください。
面倒かもしれないのでこちらで確認できたファイル名をメールでお伝えします。

[ ]
RE:20878 正規表現の機能&グレップの機能No.20879
マボカル さん 06/02/10 14:33
 
秀丸担当さん

ありがとうござます。

>ファイルをいただきました。ありがとうございます。
>とりあえず頂いたファイルについて解答させていただきます。
>確認してみたのですが、まずどのようにすると問題が起きるか、具体的なことが
>わからず再現できないというかわかりませんでした。

昔のバージョンでは失敗する例がほとんどでしたが・・。バージョン
アップして改善されていればそれにこしたことはありません。

>1ついえることは、75個のファイルのうち3つだけBOMが無いUnicodeファイル
>でした。
>BOMが無いと、自動認識されない場合はASCII文字のgrepにも失敗すると思います。

ASCII文字のgrepなのになぜ失敗するのか?という疑問は、BOMに関係
していた可能性が高いということですね。今まで保存するときにBOM
には気を使っていませんでした。これから気をつけます。以前の
バージョンではこういうときタブモードにするとか保存された
ファイルからグレップを行うとかで成功したいたときもあったように
記憶していますが、そういった操作とBOMとの関係もあるのでしょうか。

>BOMが無くても自動認識させるためには、[ファイル]→[開く]→[自動判定の設
>定]→[ファイルの内容を解析してエンコードの種類を自動認識する]の中で
>「Unicode(UTF-16)」にもチェックを入れておくと認識できると思います。
>
>BOMが無いファイルにも、名前をつけて保存でBOM付きで改めて保存しておくこと
>をお勧めします。
>
>BOMがあるかどうかは、バイナリで見たときにファイルの先頭に FF FE のコード
>があるかどうかで判断しますが、秀丸エディタで確認する場合は、[ファイル]→
>[開く]で実際に開いてみて開けるかどうかで判断すると早いかもしれません。
>BOMの確認の際には、自動認識の「Unicode(UTF-16)」のチェックは外した状態で
>確認してください。
>面倒かもしれないのでこちらで確認できたファイル名をメールでお伝えします。

お手数おかけします。

[ ]
RE:20875 正規表現の機能&グレップの機能No.20880
秀丸担当 さん 06/02/10 16:27
 

こちらの件は、おそらくHmJre.dllの対応が必要で、V5.14はとりあえず正式とし
て次期バージョンでやっていくことになるかもしれません。
念のため、確認するために
>○○○●
>○○○▲
とかなっている文字の実際の文字コードを教えていただいてもいいでしょうか。
文字コードは[その他]→[コマンド一覧]→[その他]→[文字コード表示]で確認で
きます。
あるいはメールで送っていただいてもかまいません。

>(●)(●)(●)(●)(●)

とかなるのは、正規表現でUnicodeでの検索を可能にしたときからそうなってい
ますが、HmJre.dllの対応と同時に括弧がつかないように対応できるよになると
思います。

[ ]
RE:20879 正規表現の機能&グレップの機能No.20881
秀丸担当 さん 06/02/10 16:34
 

>ASCII文字のgrepなのになぜ失敗するのか?という疑問は、BOMに関係
>していた可能性が高いということですね。今まで保存するときにBOM
>には気を使っていませんでした。これから気をつけます。以前の
>バージョンではこういうときタブモードにするとか保存された
>ファイルからグレップを行うとかで成功したいたときもあったように
>記憶していますが、そういった操作とBOMとの関係もあるのでしょうか。

以前のバージョンというのがどれくらい以前かによりますが、V5.11以降のもの
であればタブモードかどうかによって動作が異なる可能性は考えられないです。
V5.10以下であると、タブモードでないと瞬間起動が働いて動作が違うことにな
る可能性はあります。
(現在の内容)でgrepする場合と、保存されたファイルをgrepする場合の両方にお
いて、BOMの有り無しによって動作が異なることは考えられます。

[ ]
RE:20880 正規表現の機能&グレップの機能No.20882
マボカル さん 06/02/10 16:52
 
秀丸担当さん

>念のため、確認するために
>>○○○●
>>○○○▲
>とかなっている文字の実際の文字コードを教えていただいてもいいでしょうか。

こういう例はいくつもあるのですが、とりあえず一つ挙げると
UTF-16の値で

○○○[●▲]

c5b4 ba38 b2c8 [ac00 b294]

として検索した結果、[]で指定した文字以外が検索された例は前半の
c5b4 ba38 b2c8 に続く文字だけ示すと、

c5d0
cc98
c758
c640
b3c4
aed8

などなどがあります。

>>(●)(●)(●)(●)(●)
>
>とかなるのは、正規表現でUnicodeでの検索を可能にしたときからそうなってい
>ますが、HmJre.dllの対応と同時に括弧がつかないように対応できるよになると
>思います。

あと現在では正規表現でUnicode(韓国語)の検索ができてもいちいち
[]の中にユニコードの文字は入れることができません見たいなメッセージ
が出るのでそれも修正していただきたいと思います。

(●)(●)(●)(●)(●)と出るのはUnicodeファイルで日本語のコードに
も存在する漢字を検索した後の履歴にも同じように括弧つきで出てい
ました。ご参考までに。

[ ]
RE:20877 正規表現の機能&グレップの機能No.20883
Iranoan さん 06/02/10 17:24
 
 秀まるおさん今日は、Iranoan です。
>  とりあえず、現状で、[...]の中で\uXXXXを使った範囲指定をしたとして、そ
> れが果たしてUnicodeとして処理されるか、それとも現在の文字コードとして処
> 理されるか、それは、その範囲の文字にUnicode文字(というか、現在の文字
> コードで表現できない文字)が含まれているかどうかで決まる、というような仕
> 様とさせていただきます。
 ご説明有り難うございました。

[ ]
RE:20858 正規表現の機能&グレップの機能No.20884
いいじま さん 06/02/10 17:40
 
いいじまです。

>  のようなケースで、その文字コードの範囲をUnicodeで計算するというような、
> そういうことは、対応しようと思えば対応できると思います。
>  仮にやるとしたら、例えば
>  (?#code-range-by-unicode)[あ-ん]
>  と書いたら文字コード範囲をユニコードで計算するとか。
>  上記の例はちょっと長すぎるのでなんですが。
>  何か適当な文法さえあれば、対応するのはそんなに難しくはないですけど。
>  どうしましょ?

(?#code=unicode)[あ-ん]
(?#code=shift_jis)[あ-ん]
(?#code=932)[あ-ん]
でどうでしょう。

この書式であれば、Windowsが対応している全てのコードページに対応可能です。

[ ]
RE:20884 正規表現の機能&グレップの機能No.20886
秀まるお2 さん 06/02/12 17:20
 
 とりあえず、マボカルさんとしてはユニコード文字を[...]の中に指定できれ
ばそれでいいような感じなので、独自の拡張は今回はやめときます。

 また要望があったら考えたいと思います。

[ ]
RE:20886 正規表現の機能&グレップの機能No.20887
マボカル さん 06/02/13 09:31
 
秀まるお2

> とりあえず、マボカルさんとしてはユニコード文字を[...]の中に指定できれ
>ばそれでいいような感じなので、独自の拡張は今回はやめときます。
>
> また要望があったら考えたいと思います。

了解しました。改良されたバージョンで試してみて、また要望が
あれば投稿したいと思います。

[ ]
RE:20882 正規表現の機能&グレップの機能No.20889
秀丸担当 さん 06/02/13 10:11
 

具体的な例ありがとうございます。
次期バージョンにていずれの場合も大丈夫なように修正していきたいと思います。

[ ]