OmegaTの分節化規則: ピリオドの後で分節化するのを避けるには<正規表現の戻り読み>
OmegaTの分節化規則をもっと細かく調整してやりたい場合があります。 例えば、特定の文字列が先に来る場合は分節化したくない、など。 正規表現の先読み(lookahead)、戻り読み(lookback)を使えばそんな希望がかなえられます。
そういうことができるらしい、ということは前から知ってたんですが、ようやく実際に使えるようになりました。
やりたいこと
ピリオド(.)で分節化するけど、"Pos.“、"e.g."とかでは分節化しない。
分節化規則
「初期値」に設定してみました。選択されている項目のところで「否定の戻り読み」と呼ばれるやつを使ってます。
「前方の正規表現」はこういうやつ。
(?<!Pos|approx|e\.g)[\.\?\!]+
「後方の正規表現」。
\s
感想
正規表現はわかると便利だけど、それまでが大変な場合が多いように感じます。 上のやりたいことで書いた分節化の仕様は、戻り読みとか先読みとか使わなくてもできた、とも記憶しています。 OmegaTのプレセット値にMr.とかe.g.とかの後に分節化しないというものがありました。
だけど、色々な条件を組み合わせているうちに、毎回わけがわからなくなってるので、正規表現で一発ばしっと決めてやるのもアリではないでしょうか。
参考
正規表現の「先読み」「戻り読み」についてかみ砕いて解説してくれてます。 「先」とか「後」とかのニュアンスと実際の動作がどうしても結びつかなくて、「???」になってましたが、これを読んでようやくイメージがつかめました。