アーカイブ

2006年 3月 10日 のアーカイブ

関連本を読んで強く感じたんだけどさ、正規表現に正規の物なんてないね。
でも、こう書いたらこう動いて欲しいってのの標準みたいなのはあるな。
で、今使ってるTRegExprは、検索に関してはそういう標準は十分満たしてる感じ。
置換は¥1~¥9で$1~$9と同じ動作をするように変更すれば十分って感じ。
十分どころか、真魚のくせにっていうくらいたいそうなことが出来る。
今できない機能に今後対応するかどうかについては、
面倒くさいからやりたくないっていう理由もあるけど、
それより、どうしてその機能が必要か、必須なのかって話も出てくると思うわけね。
これって、思うにPerl互換とかAwk互換とかって書いちゃうから、
「PerlやAwkで出来るのになぜできないんだ!」みたいに文句言われちゃって、
最新の正規表現を追いかけて、同じになるように整備して行かなきゃいけなくなるんだけど、
Perl並とかAwk並みたいに書けば、「並だから出来ないんだよ」とはじめからあきらめさせれる。
Perl風と書けば、Perlとは違う実装すら許される。
TRegExprはPerlの下位互換+独自ロシア語拡張って感じなので、Perl風ということになる。
でも、今後Perl風って書いちゃえば、Perlとどこが違うの?って言われちゃうだろうか。
やっぱりPerl風のつもりだがまだまだな正規表現って書かなきゃダメか?
真魚的には、正規表現と一切書かずに「Perlみたいな検索/置換」と書くのが良いと思うな。
だって、知らない人が正規表現って言葉を見ると、正規な表現だと思うはずで、
正規じゃない表現より正規な表現で検索したくなるでしょ?
現在のような、説明なしに正規表現という言葉を使うUIはどうにかしたいってことで。

しかも正規表現って、逆方向へ検索させる事は想定してないらしく、
逆方向への検索はどんな動作が正しいのかっていう正解もないみたいで、
TRegExprも、逆方向に検索できるようにイジって使っている。
さらに、ユニコード以外での検索には利用しないので、
西洋言語に特化したようなANSI部分は全部削除してソースを見やすく変更したし、
効率化できそうな部分はどんどん変更しているしで、微変更どころではなくなっている。
そんな状況なので、オリジナルのTRegExprが今更バージョンアップされても、
どこが変更されたかを追跡して反映させるのは激面倒という事にもなる。

よって、正規表現は置換の修正以外このまま進歩なしで良いでしょと。
あやしいgotoもどうやらちゃんと動いているようだし、置換の修正もしたし、もう大丈夫。
逆に、正規表現が使えるんだって事を、知らない人に見せびらかしたUIなので、
「正規表現」という言葉を封印し、知ってる人しか使いたくならない単語で置き換えたい。
でも知ってる人だと正規表現のことだとすぐわかるようなのにね。
Grepとは書かずにテキストファイル検索と表現したように。

4797330813
4797330813