テンプレートマッチングを繰り返すことによって項目を抽出して一覧表形式に出力するフォーム
解析対象のテキスト:
テンプレート:
動作ログ:
項目の抽出結果:
仕様:
要件:
・テキストとテンプレートを入力すると,HTMLのTABLE形式で出力される。
・解析対象のテキストに対して複数行のテンプレートを渡すと,
テンプレートとマッチングした結果の該当する中身だけを抽出してくれる。
具体的に言うと,正規表現のキャプチャカッコに相当する部分だけを抜き出す。
・解析対象のテキストに対して,テンプレートは何回転もする。
同じような情報の繰り返しから,項目を抜き出すような用途に役立つ。
テンプレートの書き方:
・テンプレート文字列は,行内で正規表現として記述する。
アスタリスクなどの記号はエスケープ漏れに注意。
・テンプレート内で,正規表現として()でくくった内容がキャプチャされる。
・テンプレート文字列は,行内で,行頭を表す^と,行末を表す$を省略して記述する。
・テンプレート文字列には,二行続けて同じ内容の行なきこと。
1行書いておけば,次の行にも流用してマッチしようとするので,ダブらせる必要が無い。
・テンプレートに (.*) を書けば,空行を許可するひとつながりの連続行を表す。
いっぽうテンプレートに (.+) を書けば,空行を許可しないひとつながりの連続行を表す。
コード規約:
・変数名の接頭辞について,hは本文,tはテンプレートのつもり。