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

脳log[20170131]



2017年01月31日 (火) [正規表現][SakuraEditor]「BoSubst() で置換時、patternp に NULL を指定し substp に NULL 以外を指定することで、前回の patternp のコンパイル結果を流用することができます。しかし逆に patternp に NULL 以外を指定し substp に NULL を指定することはできません。」■すでにこれ(20100907p01.01)が存在していたとはね。そして過去の俺はおかしなことを書いてるぞ。Expandは「Matchや Searchの結果を用いて $変数(またはその類)を展開したフォーマット文字列を返す」が正しいし、Replaceは Search & Expandでまかなうのが正しい。■正規表現リテラルの要素を複数の引数に分離するのがもう済んでるのは知ってた。■あとは、キャプチャ結果のスタックを得る方法があるもんだと思って bregonig.dllのヘルプを見てたんだけど、見つけられなかった。検索パターンでネストレベル付き後方参照というのが使えるから原理的に情報は保存されてるはずなんだけど、旧来の BREGEXP構造体にはそれを受け渡すためのフィールドがない、と。■キャプチャのスタックが必要だった理由>「Request/533 正規表現検索でサブマッチにも個別の検索色を」。本当にそれで満足?と俺は疑問に思ってしまうのだけど、自分で実装してしまうほど熱心な提案者。実装を .cppに書いてヘッダで宣言に inlineって書いても、ヘッダをインクルードする利用者側コードのコンパイル時に関数の中身が見えていなければインライン展開のしようがないと思うのだけど、いまどきはリンク時コード生成とかで似たような結果が得られるんだろうかと思ったり(※でもそれはたぶん inlineって書いたからではない)。スクリーンショットを見て疑問だったのが、引数リストの型名部分がハイライトされているように見えて、最後の引数しかハイライトされていないこと。パターンでキャプチャの繰り返しを使ったのだけど最後のキャプチャ位置しか取り出せなかったんだな、と理解した。bregexp.dllや bregexp.dll for SAKURA(※そうなのです。拡張された別物なのです)ではなく bregonig.dllを利用してるユーザー(※たぶん多数派)にはボーナスとして bregonig.dllの独自 APIを利用したサブパターンハイライトがあってもいいんじゃないかと考えたんだけど、APIとのやりとりが同じ BREGEXP構造体だった。■Mery同梱の正規表現ライブラリ名は onig.dllなんだよね。(じか)に鬼雲を使えってことだよ……。素材はもうあるんだよ……。■「直」って読み方多すぎない?(多すぎじゃない? 多すぎなくない?) じか、す(ぐ)、チョク、なお、ジキ、ただ、ひた、ね、あたい。「とのい」とか「のうし」とかの熟語は源氏物語の世界だなあ。由緒があるってことなんか。