/ 最近 .rdf 追記 編集 設定 本棚

脳log[20260105] なにか.



2026年01月05日 (月)

最終更新: 2026-01-08T15:56+0900

なにか.

 「\xHH が使えない」は不正確

エディタの内部文字コードに対応して \x20\x00 というパターンでスペースが検索できる。

 \c が特別なのは \c. \c$ というパターンがあるから

覚えてないけどそうすべき理由を改めて調べた結論。消されてますけども。

 パターン+マッチ情報の分離 (CPattern)

 @brief Perl互換正規表現 BREGEXP.DLL をサポートするクラス

	DLLの動的ロードを行うため、DllHandlerを継承している。

	CJreに近い動作をさせるため、バッファをクラス内に1つ保持し、
	データの設定と検索の2つのステップに分割するようにしている。
	Jreエミュレーション関数を使うときは入れ子にならないように注意すること。

	本来はこのような部分は別クラスとして分離すべきだが、その場合このクラスが
	破棄される前に全てのクラスを破棄する必要がある。
	その安全性を保証するのが難しいため、現時点では両者を1つのクラスに入れた。

このコメントに応える動きかなと思う。

しかし温存された CBregexp と一部の役割(検索手段とマッチ結果へのアクセス)が重複していることと、新しく生えた CBregexp::GetPattern が CBregexp を形骸化させていることが気になる。CBregexp の存在意義が曖昧。

include を見ると CBregexp.h と CBregOnig.hpp が循環依存していることからも現状はいびつ。

DLL ファイルとしての側面から生の公開関数と実装補助を提供していた CBregexpDll2 (あらため CBregOnig) に対して、CBregexp は正規表現 API の側面から DLL の差異を吸収する統一メソッドを実装していた。パターン+マッチ情報クラスという、正規表現寄りで高レベル・一般性のあるものを生やすなら CBregexp の方では? なんで「CBregexp::CPattern を CBregOnig に移動」したのかはわかりませんが。