generated at
正規表現
> 正規表現とは、文字列内で文字の組み合わせを照合するために用いられるパターンです。 JavaScript では、正規表現はオブジェクトでもあります。
> 正規表現(せいきひょうげん、英: regular expression)は、文字列の集合を一つの文字列で表現する方法の一つである。正則表現(せいそくひょうげん)とも呼ばれ、形式言語理論の分野では比較的こちらの訳語の方が使われる [1] 。まれに正則式(せいそくしき) [2] あるいは正規式(せいきしき)と呼ばれることもある。
>
> もともと正規表現は形式言語理論において正規言語を表すための手段として導入された。形式言語理論では、形式言語が「正規言語であること」と「正規表現によって表せること」は同値である。
>
> その後正規表現は単機能の文字列探索ツールやテキストエディタ、ワードプロセッサなどのアプリケーションで、マッチさせるべき対象を表すために使用されるようになり、表せるパターンの種類を増やすために本来の正規表現にはないさまざまな記法が新たに付け加えられた。このような拡張された正規表現には正規言語ではない文字列も表せるものも多く、ゆえに正規表現という名前は実態に即していない面もあるが、伝統的に正規表現と呼ばれ続けている。

黒魔術、あるいは禁呪のようなもの
中二病気質のプログラマがよく使う傾向にある
そうなの?
特定の文字(メタキャラクター)を使って、汎用的に文字列のパターンを表現し、文字列の置換、検索などに使用する
便利な反面、
ソースコードの可読性を著しく下げる
保守性や拡張性を損なう
というデメリットがある
使い過ぎたり、使いどころを間違えるとね
正規表現でなんでもしようという人も、正規表現をやたら忌避する人も最近は見ない気がする




増井俊之
正規表現はバッドノウハウじゃないと思う...
可読性が悪いのはエスケープ文字のせいかも?
* とか ( とかをUTF記号にしたらどうだろう?
ASCII文字をエスケープする必要がなくなって読みやすくなるかも
a★*$【c(de】 みたいに書ける
式の中で正規表現を書けるプログラミング言語(Perl)を最初に見たときは驚いた
そういう言語が欲しいなーと思ってたから
自分で作らなくて良くなったので助かった

kuuote
Goの正規表現周り作った人による正規表現エンジンの実装方法紹介
癒される
すごい 増井俊之

inajob
このページ上の文言をwikipediaか何かの引用に変更したい気持ち
流石に意見が偏りすぎな気がする

windymelt
正規表現がバッドノウハウとか黒魔術であるというイメージはまったくない
というか、きわめて頻繁に仕事でもプライベートでも利用しているし、あまりに当然の道具だと思っているので、かけ算とかドライバーの使い方をバッドノウハウと言われているみたいな感覚になる
(私見) 正規表現を回避して同じようなことを実現しようとしているツールやノウハウは、最終的に正規表現を再発明する
正規表現の構文自体が煩雑になる傾向はあると思う
正規表現が不要なら、正規表現を使わなくてもいい
文字列が .txt で終わるか?くらいの程度だったら利用しなくてもいい場合が多い
正規表現を使うべきなら、正規表現を使うべきである
正規表現で不十分なら、別の強力なツールを使ったほうがいい
例えばカッコの対応をとる正規表現は原理的に不可能である