めざらさん
仕様はそのとおりです。
>少し面倒だなと感じることは確かにあります。
僕は、ほんと30年前から、《すごく》面倒だと感じているようです。
だいたい検索窓で正規表現文字列を書き上げただけで、ふぅ となり、↑してまだ同じ文字列をみると、こんなの機械の仕事だろう! といつも感じているようです。
>「\1\2\3\4」って入力するの簡単だから…と言ったらニベもないですが。
これ、途中を消さなくちゃでしょう。そして、ときどき、^とか$を残して置換しちゃったりして。こいつらも、リテラルに出てくるんだな、これが。
>でも,自分もテキスト上でパターンを書いておいて
ここを思い切りました! あの窓が緊張感(疲労感)を誘うのだ、と。
>自分だったらどう作る…と考えたとき,別のテキストに切り出しておいて,
>\(と\)に囲まれた【最短の】文字列をヌル置換した数を記憶しておいて,
これです! ただ、「最短」が問題で、やっぱり置換でなく(「最左最長」が引っかかる)カーソルごにょごにょ、ですよね。
\( \) の個数を置換でチェックは考えましたが、そもそも要らない、という結論。"funny situation."これを気にしないと、ただ頭からの処理で済む。
ネストもない、個数の不整合もない、という決め打ちです。こう決めてしまったら、\( のあとに必ず \) が来ると確信できる。INdos flagならぬ、INtag flagで最初、攻めてました。これを止めて、\)が出てくるまで消せ、消し続けろ、と決めたら、ああ、できたぁ、と。
真ん中あたりの10行くらいに、50%のエネルギー、上の仕様を決めるのに45%のエネルギーがかかりました。コードの70%以上は15分で書きました。
>文字列のあったはずの場所に置換数分の\[num]を出力する……
i++, 'i' とか、できないんだ、と知りました。あはははは。
ダメだよな、これ。あはははは。それ、定数出力だ、constantだ。
>[^\()] を含まない文字列を指定するのがやたら面倒とか,
ここは意図が読めませんでした。?
>こういうのって,やり方は色々あって,考えるの楽しいですよね。
色々あるんだろうな、と僕も思いました。
ただ、僕は、いつも、自分で結果の出せる問題と方法、これにばかりにこだわってますね。
結果がだせないなら(1か月かかってもよい)、そもそもやるな、あきらめろ、と。
>> &s
>> #k #i ;duplicate line
> ここのとこ,非ブロックの #y #k はサイレントで実行しないのが吉。
了解です。ありがとうございます。こういうの、とっても大事。
触らぬ神に祟りなし。m(__)m
>※カーニハン先生の「ソフトウェア作法」,えらく使い込まれた感じに傷んでいる本を
>図書館で借りてちょっとだけ読みました。ふむふむ,で終わっちゃった。(笑)
『作法』と言われても分からないから調べました。konno掲示板
#10411 「古典」。
_Software Tools_ですね。パスカル版も翻訳を出せばよかったのに。そっちのほうが需要あったでしょうに。
でも、Pascal も Fortran も、動かす予定。
趣味って、終わりないですね。
でも、やっぱり、Vzマクロ、楽ですよぉ。宝物。
ほんとに、grep (find), sed (translit+α), 正規表現エンジンを作ってました。
ふむふむ以上いくかなぁ? Pascal版は、書籍も手に入れてしまった。アメリカから。\2500ぐらい。(内、送料\2000。本を買うの、好きだねぇ)ほんまもののテキストフォーマッタ(.ceとか出てくる奴)って、あんまり興味ないんだけど。
"Epilogue"(「おわりに」)を読むと、安心しますよ。もう遅いか。
"Fight against complexity." いつも、これです。両版とも同一でした。