同様の質問がありますが、正規表現の構文について人々がいつも与えるのと同じ古い回答が得られましたが、それはここでのポイントではないため、正規表現の構文について同じ古い回答をひざまずかないようにしてください。今回は、もう少し独創的で個人的なものにしてください。
正規表現の構文は非常にコンパクトで、コンパクトすぎて適切ではありません。これはコード ゴルフのようなものであり、誰もがコード ゴルフが製品コードでは良いことではないことに同意します。ただし、ほとんどの人は正規表現構文を受け入れますが、これは控えめに言っても矛盾しているようです。
したがって、次のようなよく耳にする防御策があります。
答え: コンパクトです
Counter : この時代、コードは読み書きができるべきであり、"client" のような変数は "c" よりも優れているということに、私たちは皆同意していませんか?
回答: 「ドメイン固有言語」です。
Counter : SQL や LINQ のような非常に理解しやすく、コンパクトでなく、暗号化されておらず、あえて言うならきれいなドメイン言語についてはどうですか?
回答: 一度知ってしまえば簡単に理解できます。
カウンター: ほとんどの優れた言語は、使用したことがなくても簡単に理解できます。たとえば、Python を見たことがなくても、誰でも簡単に Python に飛び込むことができます。また、Regex を見るのが非常に難しい言語であるのに、なぜ人々は Regex を擁護し、さらに Lisp の括弧について文句を言うのでしょうか?
さて、ここでは誰もが独創的で正直であるように努めます。正規表現を設計するために 20 年前にプログラマーが使用したのと同じ古い暗記回答を引き出すだけではありません。それらがこの時代に有効な命題であると本当に信じている場合を除きます。
編集:記録のために、私は何年も前から正規表現を知っており、今日でも頻繁に使用しており、それらを理解することさえあります。しかし、正規表現について「真実」として捉えてきたものを再考し、現代的な観点からそれらを見る時が来たのではないかと突然感じました。主な理由は、さらなる発展のために原則に疑問を抱くことが必要であり、非常に多くの新参者がそれらについて激しく不満を漏らしているため、彼らはただ完全に平気でいることができないため、私は新参者の靴に足を踏み入れて、いくつかの良い点を考えてみることにしました.正規表現に対して。
主観的であることに関しては、これが当時のプログラマーのジョークほど主観的ではないか、プログラマーとの関連性が低いとは思いません。それどころか、それは非常にプログラマーに関連しています。
議論に関しては、それが質問のポイントです。正規表現の時代遅れの構文に賛同する良い議論を得るために、それは新参者がなぜ正規表現が何であるかを実際に理解するのに役立ちます。正規表現の「クールさ」に目がくらんでいます。
見積もり:
Perl 5.10 の正規表現に関するドキュメントは、非常に多くのこっけいな機能が構文に忍び込み、誰も適切なドキュメントを書くことができなくなったため、読めない戯言の山に溶けてしまいました。
正規表現が維持できなくなったと言いたいのですか?それでは、優れたプログラマーとして、それらをリファクタリングすることを検討する必要がありますか? たぶん、他の多くのテクノロジーで行ったように、クリーンアップして再試行しますか?