掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
()内を置換し削除させるには? (ID:125537)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
( ) の対応関係をチェックする場合、()のネストの数に上限を設けない限り、正規表現だけでチェックするのは本質的に不可能です。 (正規文法の範囲外の文法であり、、正規表現は正規文法に合致する文法しか記述できない) C言語の掲示板なら「yacc とか bisonで自動生成させましょう」で終わりなんですが、自動生成したCのソースをVBに移植するのが大変そうなので、この程度のシンプルなルールなら自力でプログラムを書く方が早い思います。 なぜ正規表現で表現できないのにyaccやbisonで自動生成できるのかといった話は形式言語とかオートマトン、字句解析、構文解析等の勉強するとよくわかるのですが、説明すると長いので、参考資料だけあげておきます。 http://cl.it.okayama-u.ac.jp/kougi/h16/data/gengo2p.pdf http://www.teu.ac.jp/kmdit/Lectures/Automaton/H16/H16A&LNo3.ppt http://hwb.ecc.u-tokyo.ac.jp/current/CDD1B8ECBDB82FA5C1A5E7A5E0A5B9A5ADA1BCB3ACC1D8.html
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.