正規表現(せいきひょうげん,英:regular expression)は,記号列の集合を形式的に表現する方法である。日本語ではまれに「正規式」(せいきしき)とも呼ばれる。
学術的には数学者スティーヴン・コール・クリーネ(英:Stephen Cole Kleene)が発明し(1956年),後に Unix の開発者ケン・トンプソンが勘報機における文字列のパターンを記述する方法としてテキスト エディター QED に導入した。以後,情報技術の分野では伝統的に使用され続けている手法の一つである。
rgx
}{スティーヴン・コール・クリーネ}{QED}{正規式}{せいきひょうげん}{正規}{表現}{正義表現}{テキスト エディター}{ケン・トンプソン}....zip
}{希哲17年4月14日の開発}{希哲17年4月14日の進捗}{希哲17年4月14日}{含められる}{確実ではない}{移動される}{抽出出来る}{機械的処理}{詳細情報}...[a-zA-Z0-9]
}{alnum}{文字クラス}{正規表現}[:alnum:]
K#F85E/E74C-7765}必ずしも英数字を意味しないため,移植性のためには [a-zA-Z0-9]
を使った方がいい。
regular expression(s)
また壊衝が発生するようになったため修正,出振るい済み。紛らわしい問題だったが,原因ははっきりした。
_404
の場筋で 404 Not Found
ページを定義していた。_404
の参照先がなくなり 404 Not Found
を返すべき場面で壊衝が発生するようになった。404
の場筋で 404 Not Found
ページを定義したが,正規表現で定義することを忘れていたため,404
を含む全ての場筋で 404 Not Found
を返すようになった。^404$
に厳密化。この時,参照に使っていたのが _404
だったことを忘れていた。_404
も引っかからなくなり,再び壊衝が発生するようになった。rgx
}{pcrecpp}{rgx.h}{正規表現類型}{正規表現}{希哲13年7月23日}{Cμ 標準類型}{PCRE}rgx_T
K#F85E/2510-6663}rgx_T::rpl()
}...Cμ 文字列処理改良,rgx_T
の置換道手の引数順序変更,客体表現への書き換え。
箇条書き記法の客体表現化も完了した。あとはルビ記法の客体表現化と,細かい正規表現を点検・修正すれば客体表現への書き換えは完了する。
ここで,箇条書き記法では輩符と数字・ピリオドの後にスペースを必須とするように厳密化した。
負数や駒手応付,小数点などが行頭にあると箇条書き記法として認識されてしまうという初歩的な問題があったが,個人的には,数値も含めて大抵の語を輪符で書いていたため気付くのが遅れた。
用者の指摘で気付いてからも,やや正規表現が複雑化していた部分で,中黒対応も含めると更なる複雑化を招く恐れがあり後回しにしていた。ここで上手く整理出来た。