さて、翻訳者は数値表記のスタイルを指定されることがあります。「ソースにばらつきがあっても、3 桁ごとにカンマ入れてね。ただ西暦とか ISO 感度 3200 とかの場合はカンマ入れないでね」というものです。ソースにばらつきがある場合でも、ハンドオフ直前に正規表現置換で一括で直せるんだから、それくらいは処理してハンドオフして欲しいものです。
そこは文章肉体労働者の身分ですから、ぐっとこらえましょう (笑)。早速ですが、以下の架空の文章でエラーだけを検出するにはどうすればよいでしょうか。
「この 2010 年に発売されたカメラでは、1 回の充電で 2,200 枚程度撮影できます。フラッシュを使用した場合は、撮影可能枚数が 900 ~ 1100 枚程度になることに注意してください。また、[MENU] 画面で [自動選択 ISO 3200] を選択すると ISO 感度 3200 まで自動で調節されます。」
ここでエラーは「1100 枚」の部分だけです。いきなり正解案を提示してから解説します。
[^O度]\s[0-9]{4,}\s[^年]
そして実際に適用すると次のように、目的の部分だけにヒットします。
解説:
[0-9]{4,} → 数字が 4 個以上連続している。
\s[^年] → 連続した数字の後にスペースがあり、その後ろに「年」が存在しない。
[^O度]\s → 連続した数字の前にスペースがあり、その前に「O (オー)」も「度」も存在しない。
もちろん、これは正規表現の説明のためのものなので汎用性が低いままです。数字の前にスペースが無かったり、括弧と隣接している場合なども無視しています。なので、実際に使用して対象外の表記が引っかかった場合に、正規表現を改変したり、別の正規表現を追加したりして精度を上げていく必要があります。さまざまな表記が可能になると思います。
それではこの辺デロリアン。
0 件のコメント:
コメントを投稿