1

もじ堀ノ助(プロトタイプ)

"もじ堀ノ助"は、テキストから手作業で必要な箇所を抽出し、手作業で表にまとめる仕事をしていた方にとっての救世主です。

指定のフォーマットに抽出パターンと出力フォーマットを記述すると、自動的に抽出・整形をしてくれます。 カンマ区切りのcsv形式で出力すれば、Excelですぐに表として読み込むこともできます。

現状では、フォーマットを記述する必要がありますが、このソフトウェアに需要があると判明したら、ほとんどマウスだけで操作できるように進化させたいと思っています。

このような作業に時間を浪費しているような人がまわりにいたら、ぜひこのソフトウェアを教えてあげてください。

ただし、このソフトウェアはまだプロトタイプであり、フォーマットが頻繁に変わると思いますので、まだ本格的な使用はお控えください。


使い方

現状はコマンドライン上での動作のみ。

同梱のサンプルを参考にしてください。

moji -i抽出対象テキストのパス -pパターンのパス -o出力パス

moji --input=抽出対象テキストのパス --ptm=パターンのパス --output=出力パス

出力パスは省略できる。省略した場合は、標準出力に結果を出力する。(ファイルではなく、画面に表示される。)


フォーマット

全ての用語は仮称であり、今後変更される可能性が高いです。

パターンファイルの構造

@pattern
main {
  抽出パターン
}
@format
  出力フォーマット
@end

記述例

@pattern
main {
  "わたしは" > word$name >-> "。"
}
@format
  "名前",$name
@end

抽出パターンの構造

パターン連結記号を繰り返す構造です。

パターン 連結記号 パターン 連結記号 パターン ...

パターン

パターンは”単パターン”と”コンビネータ”の組み合わせで構成される。

単パターン

フォーマット 説明
"{指定文字列}" 記述どおりの文字列にマッチ "指定文字列"
word 任意の文字列 たんご
wordnum 任意の文字・数の列 わんこ3兄弟
digit 数字 1
digits 1回以上の数字 123
number 実数 123,45.678
space 1回の空白または\t,\n,\r,\f,\v
spaces 0回以上の空白または\t,\n,\r,\f,\v
comma カンマ記号 ,
eol 改行 \n, \r\n
newpage 改ページ \f

コンビネータ

シンタックス 説明
many(パターン) 複数回の指定パターンにマッチ。1回以上必須。
many1(パターン) 複数回の指定パターンにマッチ。0回以上。
option(パターン) パターンがあってもなくてもいい。
optional(パターン) パターンがあってもなくてもいい。空文字を返す。
between(パターン左, パターン中, パターン右) パターン中が、パターン左とパターン右の間に挟まれる。

連結記号

記号 意味
> 次の文字からすぐにパターンマッチを行う
>-> 次のパターンまで読みとばす

置換とキャプチャ

置換

マッチした文字列を、指定した文字列に変換する。

パターン/"置換後の文字列"

キャプチャ

マッチしたパターンを、名前をつけてキャプチャする。

キャプチャした文字列は、出力フォーマットで利用する。

パターン$label


出力フォーマット

フォーマット 説明
"{指定文字列}" 記述どおりの文字列を出力
$label キャプチャした内容を出力
, カンマを出力

今後の予定