見出し画像

翻訳者のための正規表現ベスト 5 をテキスト&動画でご紹介

そもそも正規表現とは?難しそうで面倒?

こんにちは!翻訳ジャーニーの五野上(ごのかみ)です。今日は正規表現を学ぶのが初めてという方を念頭に、翻訳者に役立つ正規表現パターンベスト5を動画付きで発表します!

皆さんは正規表現(せいきひょうげん)と呼ばれるテクニックをご存じですか?翻訳者にとって正規表現とは、「知らなくても仕事はできるけど、知っていると強い武器になる」といった位置づけの技術です。

ところが、この正規表現を学ぼうとした人が最初に心の中で叫ぶのは、こんな感じです。

正規表現って意味不明!理解不能!呪文?

たしかに。わかります。たとえば、本気で言語を学ぼうとすれば、基礎の基礎であるエービーシー(英語)、アーベーセー(仏語)、コーカイコーカイ(タイ語)などからみっちり覚えていく必要があります。正規表現でもそれをやろうとすると、光の速さでつまづきます。

ですが、ちょっと待ってください。私たちは翻訳者です。

そうです。翻訳者は正規表現のエキスパートにならなくていいんです。翻訳に使いそうな正規表現だけ覚えておけばいいんです。ついでに言えば、そうした頻出パターンを使っているうちに、自然と正規表現の基礎も覚えられちゃうんです。

ということで、このシリーズでは最初に翻訳で使いそうな実践的な正規表現の形を覚えて、その後で解説に入るというパターンでお話を進めていきます。サンプルとして、翻訳の仕事で役立つ 5 つのパターンを選びました。翻訳に特化した正規表現ベスト 5 です。ではいってみましょう。

翻訳者が頻繁に使う正規表現ベスト 5

1. カタカナ長音の揺れを発見する正規表現(○○ではないを探す&文末を表す)

まずは定番の表現から。和訳の場合、カタカナの長音の揺れが問題になることってありますね。たいていはスタイルガイドなどで長音の有無が細かく決められているはずです。以下、「ブラウザ」と「ブラウザー」というカタカナ語を例にお話を進めます。動画を最初から見たい方は下のリンクからどうぞ。要点だけ見たい方はもういっこ先の動画を再生してください。

  1. 長音なし「ブラウザ」が正しいのに、長音ありの「ブラウザー」が紛れているケース
    これは簡単です。担当しているファイル内で「ブラウザー」を検索して、「ブラウザ」に置き換えればよいのです。正規表現なしで解決できます。

  2. 長音あり「ブラウザ-」が正しいのに、長音なしの「ブラウザ」が紛れているケース
    これはちょっと厄介です。というのも、長音なしの「ブラウザ」を「ブラウザー」置き換えた場合、もとから「ブラウザー」だったテキストは「ブラウザーー」になってしまうのです(便宜的に「ぶらうざーあー」と読んでください)。こんな場面で、スマートかつピンポイントにルール違反を見つける方法が以下の正規表現。いったい何?と思った方はすぐ下の動画を再生して説明を見てください。

// 次の正規表現で検索するとルール違反が見つかります
ブラウザ[^ー]|ブラウザ$

たぶん上の動画を見てもらった方が理解しやすいと思いますが、テキストでも解説します。この正規表現は大きく分けて、「ブラウザ[^ー]」と「ブラウザ$」の2つのパーツから構成されています。両者をつなぐのがパイプ文字と呼ばれる「|」です。パイプ文字は「または」を意味します。

前半「ブラウザ[^ー]」は、「ブラウザ」というカタカナの後に長音「以外」の文字が来るパターンを指定しています。「ブラウザが」「ブラウザを」などがヒットします。ただし、長音が来る「ブラウザー」はこの正規表現にヒットしません。やっぱり動画を見てもらった方がわかりやすいかもです。

後半の「ブラウザ$」は、「ブラウザ」というカタカナの後に文末≓改行がきているパターンです。改行位置というのは文字ではないので、前半部分で使った[^ー]ではヒットさせることができません。

この正規表現の「ブラウザ」の部分を別のカタカナ語に置き換えることで、長音のルール違反を簡単に見つけることができます。ぜひおためしあれ!たとえば、「フォルダー[^ー]|フォルダ$」とかですね。

まとめ:ここでは、「○○ではない」という表現と文末の表現を覚えましたね。

動作確認:Trados Studio 2019, Memsource, Xbench 3.1

2. 数字を3桁ごとにカンマで区切る(文字の繰り返しを指定する方法)

続いては、数字を3桁ずつカンマで区切るという例を見てみます。スタイルガイドでこのルールが指定されていることって多いですよね。最初から見たい方は次の動画を再生してください。

ここでポイントになるのは、直前の文字の繰り返しです。

//数字が4つ連続しているのを見つける正規表現
[0-9]{4}

少し応用を見ていきましょう

//2~5桁の数字
[0-9]{2,5}
//4桁以上の数字
[0-9]{4,}
//10桁以下の数字(これは動作しないことが多い)
[0-9]{,10}

上記2種類の応用例について、詳しい解説は次の動画でどうぞ。

さらに高度な方法もあります。4桁数字の後に「年」が来るパターンを除外します。パイプ文字(or の意味)で区切った右側は文末を指定していますね。

[0-9]{4}[^年]|[0-9]{4}$

高度なパターンの解説を見るには下の動画をクリックしてください。

直前の文字の繰り返しを指定するというのは、かなりの定番テクニックです。翻訳の様々な場面で役立つと思います。

まとめ:ここでは文字の繰返し回数を指定する方法を学びました。実際のお仕事で役立つこと間違いナシですよ。

3. テキストからタグ情報を一括で削除する(最小一致の書き方)

さて、お次も翻訳者「あるある」な正規表現です。最終的な訳文をチェックしようとしたときに、不要なタグがわんさか入り込んで大変!というケースは多いと思います。そんな問題を解決できる魔法の正規表現。最初から見たい方はこちらでどうぞ。

今回新たに登場するのは、「1文字以上を表すプラス記号」と「最長一致の原則」です。

具体的には、次のようなテキストです。

タグがいっぱいで読みにくい

このテキストからタグ情報だけを削除する方法を以下の動画で解説しています。

失敗例:次の検索ワードで置き換えを行うと大失敗します。なんと、対象のテキストがすべて消え去ってしまうのです!

この正規表現を使うと
赤い部分すべてがヒットして消えてしまう

そこで出てくる概念が

なんのこっちゃ?と思ったそこのあなた!解説を聞いてください。

ここで寄り道

1文字以上を表す {1,} という表記ですが、もう少しスマートに + を使って表すことができます。

ではでは、今回のケースで使うべき、正解の正規表現はこちらです。

詳しい解説はこちらでどうぞ。

動画内でお話しした、よりスマートな書き方というのはこちらです。

//動画で紹介した書き方
<[^>]+>

//スマート版の書き方
<.+?>

ご注意:Xbenchで使用する場合は、<や>の文字の直前に半角円記号 (\) を置く必要があります。表示する環境によっては円記号がバックスラッシュで表記されるかもしれませんが、同じものです。

まとめ:今回は、最長一致の原則と、それを最短一致に変更する方法を学びましたね。

4. スペリングの揺れを拾う(0か1の「ありパターンとなしパターン」)

いよいよ4つめの正規表現です。今回は「ありパターンとなしパターン」の両方を拾う方法です。これは、スペリングのバリエーションに対応する場合にとても便利です。最初から見たい方はこちらからどうぞ。

今回のお悩みはこちら

翻訳者あるある

では、実際の使い方と解説を見てみましょう。次の動画で説明しています。

さいごにまとめの動画です。

まとめ:今回は、ありバージョンとなしバージョンの両方を拾う ? について学びました。

5. 和訳で原文がピリオドで終わっていて訳文が句点で終わっていないパターン(エスケープ、文末表現、ありなし指定)

ここまで書いて力尽きました。とりあえず動画だけ貼っておきます。


この記事が気に入ったらサポートをしてみませんか?