検索結果

キーワード: ‘正規’
1813 letters | 2091 views | コメントする

 自分で正規表現クラスを作るのは無理だと言い切っちゃうくらいだから、そもそも正規表現に対する理解もあまりしてなくて、結局誰かの作った物を利用するしかない。従来のx86版真魚では鬼車のDLLを使っていたが、これも2010年で更新が止まっているっぽい。そして、鬼車の改変版として鬼雲ってのをよそで出してて、ただしmakefileはwin32しかついてこないみたい。  bregonig.dllって言うのが出てて、昔から多くのテキストエディタで利…続きを読む

さて、久しぶりにお題が出ている。 今回は正規表現が絡むので、メモ帳での動作確認は出来ないが、 幸いにも秀丸とEmEditor Freeが同じ動作をしたので、これを正解と思って良いだろう。 何をやるのかというと、正規表現で行頭を表す^(ヘの字記号)の扱いだ。 本題は置換なのだが、内部では検索して引っ掛かった部分を置き換えてるわけだから、 置換だけじゃなくて検索の動作も見てみた。 この時点で既に秀丸とEmEditorは同じ動作なわけだから納…続きを読む

関連本を読んで強く感じたんだけどさ、正規表現に正規の物なんてないね。 でも、こう書いたらこう動いて欲しいってのの標準みたいなのはあるな。 で、今使ってるTRegExprは、検索に関してはそういう標準は十分満たしてる感じ。 置換は¥1~¥9で$1~$9と同じ動作をするように変更すれば十分って感じ。 十分どころか、真魚のくせにっていうくらいたいそうなことが出来る。 今できない機能に今後対応するかどうかについては、 面倒くさいからやりたくない…続きを読む

落ちる話からは離れて、いったい今実装している正規表現の何が不満かという話。 あたしゃ正規表現自体普段使わないし詳しくないので、一口に正規表現と言っているが、 実際はどんな書き方が通るのかが、物によってもバージョンによっても違うらしい。 今使ってるTRegExprが、一般に正規表現と言われるものに比べて、 十分な実装がされているのかされていないのか、その判断すら難しいほど無知なんだが、 ウチにある正規表現について書かれた本を見ると、ここが…続きを読む

さて、8000文字テストで落ちないエディタを三つあげたわけだが、 その三つとも、80000文字テストを乗り切ることは出来なかった。 EmEditorの限界は74483文字で、それ以上だと「見つかりませんでした」が出るか、 条件は不明だが「Too Big」とかなんとかっていうダイアログが出るかする。 落ちるよりはヒットしない方が全然マシ。 萌ディタは、80000文字の貼り付けが出来なかくて「がっかり」ダイアログ。 仕方ないので8000文字…続きを読む

最初は、ヘルプに遅いと書いてあるから速くできるんじゃないかとか、 まだ対応してない物を自前で対応できないかとか、 そういうつもりで正規表現ライブラリの中身を検証していたはずだったが、 途中からはアプリが落ちるか落ちないかの話題に変ってしまったな。 で、一応解決したよ。現在は、8000どころか80000文字でも落ちないようになった。 もちろん、32bitを超える数字のケアはしてないので、そこであふれるだろうが。 32bit以上のケアしない…続きを読む

アプリが落ちる話なので、言いがかりだと言われないように、やり方を明確にしておく。 -(半角のマイナス)を8000文字入力する。コピペでも良い。 なぜ8000かというと、欠陥のあるライブラリでも数百ぐらいだとまだ耐えるからだ。 マイナスには特に意味はないが、改行が含まれると検索出来ない物もあるのでダメ。 で、8000文字入力したら先頭1文字目に入力位置をあわせ、 正規表現で(.|¥n)+を検索する。あえて全角で書いたがもちろん半角で。 す…続きを読む

難しい言葉で言うと再帰。 正規表現の検索では、普通の検索と違ってたくさんの枝分かれが起こる。 その分かれた枝からさらに別の枝分かれが起こる。 全部の枝を検証して最長一致を求めるっていう事をやらせるために、 TRegExprは再帰っていう方法を使っている。 マッチしているかどうかを判断すべきメソッドは、枝分かれ前の現在の枝しか評価せず、 枝分かれの分岐点からは、それぞれの枝について自分と同じ仕事をするメソッドに託す。 それれぞれの枝がさら…続きを読む

ショック。 やっぱり自分で使うライブラリは、ソースコード全部把握してから使わなきゃダメね。 正規表現では+や*とかを使って、ものすごく長い範囲にヒットさせる事が出来るわけだが、 TRegExpで、ものすごく長い文字列にヒットさせようとすると、 オーバーフローが起こって何の警告も出さずにアプリが落ちる事がわかった。 たぶんさ、足し算とか引き算とかで桁があふれた場合は警告出るんだろうね。 今回のオーバーフローは、正規表現ライブラリ内のとある…続きを読む

出来れば自分で書きたくないので、利用できる物を探してみるのだが、 Delphiであると言うことがどうしても足かせになる。 .NETの正規表現が逆方向も検索できて大変よろしいのだがな。 ともかく、Delphiってのはユニコードがない時代に作られたものなので、 Delphi向けの正規表現といえばSJISしか検索できないとか日本語ダメとかで、 逆にユニコードの検索が出来るとDelphiから利用できなかったりで、 Delphiかつユニコードな正…続きを読む

ずっと仕様だからしょうがないとか思ってあきらめてた部分は多々あるわけだが、 その仕様だからってのは、仕様じゃなくすることは出来るけど面倒すぎるって事ばかり。 で、たまたまやる気が持続したので、仕様を打破する更新とか続いたわけだ。 もうさ、不満があったら面倒でも修正しちゃうって流れに完全にシフトしちゃったんだけど、 知識不足でどうしても手が出せないのが正規表現部分。 真魚は作者と嫁が使うために作られた物であり、 作者も嫁もよくわかっていな…続きを読む

昨日から急にマルチビタミンをアナバイトに戻そうと思い始めたが、理由は思い出せない。元々アナバイトの方がいいなと思いつつ、節約のためにツーパーデイとマグネシウムにしてる。どちらも米国からの個人輸入だから、インフレや円高で少しずつ値上がりしてる。アナバイトの値上がりにビビってツーパーデイにしたけど、ツーパーデイの方が上がってるかも。これは微妙なところ。アナバイトは正規代理店のサプリンクスが最安で、サプリンクス楽天支店ならポイントが付く。今日…続きを読む

偽パワーブロックから正規フレックスベルに乗り換え、むしろ不便ばかり目立っている。慣れで解決できる問題も多々あると思うので、様々な工夫が続いている。それもまた楽しい。例えば今、先々週のジャンプ4冊注文してるんだが、これでちょっとした踏み台を作りたい。慣れたパワーブロック置き場に比べて、フレックスベル専用スタンドは高すぎて使いにくい。その分を雑誌で作った踏み台でカバーできるかって事。ダメだったらもうスタンドは捨てて、パワーブロックを乗せてた…続きを読む

筋トレに使う道具を変更したら、鍛えたい部位以外の筋肉痛が発生している。FIELDOORのパワーブロック類似品から、フレックスベルのスタンドセットに変更した。そしたら何ら心当たりのない二頭筋のパンプ感が一日中続いてる感じだ。見た目のための筋トレじゃないので、腕のトレーニングは行っていない。だとすると、ダンベルを台座から取り外したり戻したりの作業でこうなったんだろう。フレックスベルの正規品スタンドは高身長向けだと感じる。もしくは腰を痛めない…続きを読む

宅トレでパワーブロックの類似品を愛用している。https://amzn.to/48EXAxjもともとはスクリューカラーのダンベルも所有し、子供が小さい頃に危険を感じて片付けた。片付けただけなので出してくれば使えるにもかかわらず、新しくパワーブロックを買った。やっぱりスクリュー式だとプレートの着脱やら外したプレートの片付けやらが面倒だった。そういうのを全て解消しちゃうのがパワーブロック型で、これがないと宅トレも成立してない。が、弱点はプレ…続きを読む