次のサンプル テキストがあります。
zip 20193
米国
ニューヨーク
私がやりたいのは、「ニューヨーク」、つまり郵便番号の後の行のみに一致することです。
このコードを使用してみましたが、機能しません -
見出しを宣言します。ピン BREAK #{-> MARK(見出し)} BREAK;
(この前にピンを宣言しました)。
これについてどうすればよいか教えてください。
ありがとう!
問題はおそらくフィルタリング設定です。BREAK はデフォルトでは表示されません。ruta は自動的に改行をスキップするため、マッチングが成功することはありません。
ルールの前にフィルタリング設定を変更する別のルールを追加してみてください。
RETAINTYPE(BREAK);
pin BREAK #{-> MARK(heading)} BREAK;
BREAK は \n と \r を表すため、別の問題が発生する可能性があります。したがって、ルールは Windows の行末では機能しません。次のようなものが必要です。
pin BREAK[1,2] #{-> MARK(heading)} BREAK;
ruta には、行に注釈を付けるための utils 分析エンジンがあります。 PlainTextAnnotator を含めると、次のように記述できます。
pin Line{-> heading};
(たとえば、行が空白で開始または終了する場合は TRIM アクションを使用して、行をトリミングする必要があるかもしれません)
免責事項: 私は UIMA Ruta の開発者です