正規表現

正規表現を実装する 第四回「NFAとDFA」

正規表現を実装する 第一回「リテラル」 - (void*)Pないと 正規表現を実装する 第二回「任意の一文字」 - (void*)Pないと 正規表現を実装する 第三回「?量化子」 - (void*)Pないと さて第三回のときに次はリファクタリングしますとは言ったのものの、どうも…

正規表現を実装する 第三回「?量化子」

正規表現を実装する 第一回「リテラル」 - (void*)Pないと 正規表現を実装する 第二回「任意の一文字」 - (void*)Pないと 第三回は、ある文字が0個か1個あればマッチする「?」を実装します。これは割とややこしそうです。 int MyRegex::match_main(const cha…

正規表現を実装する 第二回「任意の一文字」

正規表現を実装する 第一回「リテラル」 - (void*)Pないと 第二回は任意の一文字にマッチする「.」(ドット)を実装してみたいと思います。 int MyRegex::match (const char* str,const char* regex) { if ( !*regex ) return 1; return this->match_main(st…

正規表現を実装する 第一回「リテラル」

正規表現とはある文字列のパターン一致するかどうかをチェックするものです。正規表現 - Wikipedia今回これを自分で実装してみようと思います。当然、もうすでにCで作られた素晴らしい正規表現ライブラリがあるらしいのですが、勉強用として何も見ずにC++で…