インポートユーティリティ

Regexp (TMS)

本コンテンツはPhrase Language AIの機械翻訳により、英語から翻訳されています。

正規表現(regex または regexp と略記)は、主にStrings列とのパターンマッチまたは文字列マッチングで使用される検索パターンを形成する文字のシーケンスです。機能は、より複雑で特殊な操作の検索と置換、または定義済みコンテンツを除外する方法に似ています。正規表現の詳細な説明と使用文字の表については、Wikipediaのエントリーを参照してください。

複数の正規表現を同時に使用するには、間にパイプライン文字|を挿入します。

正規表現は、CATデスクトップエディタのフィルタ、検索、置換フィールド、コンテンツ検索機能の原文および訳文フィールド、ファイルインポート設定タグ変換機能、およびセグメンテーションルールのカスタマイズに使用できます。

重要

PhraseはJava正規表現をサポートしていますが、システムを過負荷から守るために複雑な正規表現を拒否します。複合正規表現は、他の限定詞(所有格を除く)を含むグループに限定詞(所有格を除く)を持つ正規表現です。

一般的な例

ファイルのインポート時にテキストをタグに変換し、エディタで検索と置換機能に正規表現を使用する例:

概要

<[^>]+>

represents <html_tag>

\{[^\}]+\}

{変数}を表します。

\[[^\]]+\]

は[変数]を表し、

\[\[.+?\]\]

は [[aa[11]bb]] を表します。

\$[^\$]+\$

は $operator_Name1$ を表します。

\d+

は数字を表します。また、[0-9]+

[A-Za-z0-9]

は任意の英文字を表します。

.+\@.+\..+

email address name@domain.com

\d{4}[-]\d{2}[-]\d{2}

日付 2018-08-01

\s$

セグメント末尾の空白

^\s

セグメントの先頭の空白

\s\s

ダブルスペース

^\d

セグメントの先頭の数字

\w+\s\s\w+

単語間のダブルスペース

\s\n

改行の前に空白文字がある場合

\S\n

改行の前に空白以外の文字がある場合

<[^>]+>|\$[^=]+=

はPHP変数とHTMLコードを変換します($svariable['name'] =)

^\s*\'[^:]+:

はjavascriptのキーを行頭に空白文字を追加して変換します('キー' :)

\{\{[^\}]+\}\}|\'[^']+\'

は{{text here}} '{{text here}}コンテンツを翻訳せず、タグに変換しません

TXTインポート

特定のテキストをインポートする際の正規表現の例:

  1. ## エラーメッセージ ##1## 数値は0以上である必要があります。 ##Z##

    ##1####Z##の間のテキストをインポートするには、正規表現を使用: (?<=##1## ).*(?= ##Z##)

  2. エラーメッセージ("数値は0以上である必要があります")

    ("と")の間のテキストをインポートするには、正規表現を使用: (?<=\(")*(?="\))

  3. 'errorMessage' = '数値は0以上である必要があります。'

    =記号の後、'と' の間のテキストをインポートするには、正規表現を使用: (?<=\= ').*(?=')

  4. errorMessage = "this is to be translated"

    =記号の後、「」「」の間のテキストをインポートするには、正規表現を使用します。(?<=\=")*(?=")

  5. msgstr ("数値は 0 以上でなければなりません")

    TXTフィルタを使用してモノリンガルPOファイルのmsgstr Stringsをインポートするには、正規表現を使用: (?<=msgstr")*(?=")

  6. # 備考:これはメモです

    # で始まる行を除外するには、正規表現を使用: (^[^#].*)

  7. 値 '126'、'DCeT'、'Text (en)'

    Text (en)' のように、引用符内に (en) を含むテキストのみをインポートするには、正規表現を使用: (?<=')[^']*\(en\)(?=')

JSONインポート

JSON構造の例:

{
"list": {
        "id":"1",
        "value": "text 1 for translation."
        },
"text": {
        "id":"2",
        "value": "text 2 for translation."
        },
"menu": {
        "id":"3",
        "value": "text 3 for translation."
         },"array": ["blue","green"],"arrays": [{        "color": "blue",        "title":「ブルー」
         },         {        "color": "green",        "title":"GREEN"         }    ]}
  • レベルに関係なくすべての値をインポートするには、(^|.*/)値を使用

  • 一覧から値を1つだけインポートするには、一覧/値を使用

  • 一覧やメニューから値をインポートするには、|(または)演算子を使用:一覧/値|メニュー/値

  • メニューから値の最初のインスタンスのみをインポートするには、 menu\[1\]/value を使用

  • 特定のキーに続くJSON配列のコンテンツをインポートするには、(^|.*/)array\[.*\]を使用

  • 特定のオブジェクト配列のコンテンツをインポートするには、(^|.*/)arrays\[.*\].*

YAMLインポート

YAML flieの例:

title:A
text: translate A
categories:
  title:B
  text: translate B
categories:
  title:C
  text: translate C
categories:
  コンテンツ:
      title:D
      text: translate D

インポートする正規表現:

  • '翻訳A' : テキストのみ

  • '翻訳C'のみ: カテゴリ\[2\]/テキスト

  • '翻訳D'のみ: categories\[\d+\]/content[\1\]/text

  • すべてのテキスト: text|categories\[\d+\]/text|categories\[\d+\]/content[\d+\]/text

セグメンテーションルール

.SRXファイルのセグメンテーションルールには、OkapiJavaUnicodeが使用されます。

.SRXファイルで正規表現を使用するのは複雑で、正規表現の使用に関する基本的な知識を持ってから仕事をすることをお勧めします。

Nobreakルール(略語など)とBreakルール(文末にドットなど)は.SRXファイルにあります。

概要

[\p{C}]

非表示の制御文字。

[\p{Z}]

空白

[\p{Lu}]

小文字のバリエーションを持つ大文字。

[\p{N}]

任意の種類の数字文字。

\Q ... \E

引用符の開始と終了 - (\QApprox.\E)。これは略語に使用されます。

\t

タブ

\n

改行

\u2029

段落区切り

\u200B

ゼロ幅スペース

\u3002

漢字フルストップ

\ufe52

スモールフルストップ

\uff0e

全角フルストップ

\uff61

半角表意文字フルストップ

\ufe56

小さな疑問符

\uff1f

全角疑問符

\u203c

二重感嘆符

\u2048

疑問感嘆符

\u2762

重い感嘆符の飾り

\u2763

重いハートの感嘆符のオーナメント

\ufe57

小さな感嘆符

\uff01

全角感嘆符

共通カスタムQAチェック

QAチェック

原文正規表現

訳訳文正規表現

訳文の追加数字

\d

\d

タグオーダー(ペアなし)

^.*\{1\}.*\{2\}.*$

^.*\{1\}.*\{2\}.*$

タグオーダー(ペアなし)

^.*\{1\}.*\{2\}.*\{3\}.*$

^.*\{1\}.*\{2\}.*\{3\}.*$

タグオーダー(ペアなし)

^.*\{1\}.*\{2\}.*\{3\}.*\{4\}.*$

^.*\{1\}.*\{2\}.*\{3\}.*\{4\}.*$

タグオーダー(ペア)

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*$

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*$

タグオーダー(ペア)

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*\{3\&gt;.*\&lt;3\}.*$

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*\{3\&gt;.*\&lt;3\}.*$

タグの前のスペース

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

タグの後のスペース

(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})\s

(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})\s

タグの前にスペースなし

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[biu_\^]{1,4}\})

角括弧がありません

[^\[\]]*\[[^\[\]]*\][^\[\]]*

[^\[\]]*\[[^\[\]]*\][^\[\]]*

丸括弧がありません

[^\(\)]*\([^\(\)]*\)[^\(\)]*

[^\(\)]*\([^\(\)]*\)[^\(\)]*

この記事は役に立ちましたか?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.