1

mediawiki 構文 (テーブル) でファイルを解析する必要があります。

sed または awk でできることは知っていますが、これらの専門家ではありません。

次のパターンを見つける必要があります。

beginning_of_line| [[text]] ||  random_stuff_until_newline

パイプとブレーキの間にスペースがある (またはない) 場合があります。そして、テキストを出力する必要があります

私のための解決策はありますか?

どうも

4

3 に答える 3

1

Mediawiki パーサーを探します。どこかに存在しているはずです。

それができない場合、mediawiki の文法がある場合は、文法の種類に応じて、ANTLR または類似のパーサーを使用してパーサーを生成できます。

文法を持っていないか、学習曲線のためにそれをしたくない場合は、「テキスト」と呼んでいるものとランダムなものと呼んでいるものを区別するための信頼できる方法が必要です。パイプは保証されていますか?その場合、Java では、分割する引数としてパイプを使用して String.split() を実行できます。

これはあなたが意味するものですか?

于 2012-05-28T17:39:53.057 に答える
0

これはあなたのために働くかもしれません(GNU sed):

sed 's/^[^|]*|\s*\[\[\([^]]*\(][^]]*\)*\)]]\s*||.*/\1/;t;d' file
于 2012-05-28T20:23:12.980 に答える