导入工具

正则表达式(TMS)

文本由 Phrase Language AI 从英语机器翻译而得。

正则表达式(缩写为 regex 或 正则表达式)是一系列字符,它们形成一个搜索模式,主要用于与字符串或字符串匹配的模式匹配。功能类似于 查找和替换 具有更复杂和特异性的操作。请参阅维基百 科条目, 了解正则表达式的详细说明和已用字符表。

至一次使用多个正则表达式,插入它们之间的管道字符 |

正则表达式可用于CAT桌面编辑器中的筛选、搜索和替换字段、搜索内容 , 功能的原文和译文字段、文件导入设置 中的 转换为标记 功能以及自定义分段规则 .

重要

Phrase支持 Java 正则表达式, ,但会驳回复杂的正则表达式来保护系统免受过载的影响。复杂正则表达式是在包含其他量词(所有格除外)的组上具有量词(所有格除外)的正则表达式。

一般示例

导入文件时将文本转换为标记的示例,并在编辑器中使用正则表达式进行搜索和替换功能:

描述

<[^>]+>

represents <html_tag>

\{[^\}]+\}

表示 {变量},

\[[^\]]+\]

represents [variable],

\[\[.+?\]\]

表示 [[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. “错误消息” =“数字必须大于 0”。

    至 导入 = 符号后面和 ' 和 ' 之间的 文本,请使用正则表达式:(?<=\= ').*(?=' , )

  4. 错误消息 =“这是要翻译的”

    至 导入 = 符号后面和“”之间的文本使用正则表达式: (?<=\= “).*(?=”)

  5. msgstr(“数字必须大于 0。

    至 导入 msgstr 字符串使用 TXT 筛选器的单语言汇票文件中,请使用正则表达式: (?<=msgstr“).*(?=”)

  6. # 注意:这是一个注释

    至排除以 # 开头 的行,请使用正则表达式:(^[^# , ].*)

  7. 值“126”、“DCeT”、“文本 (英文)”

    至 导入仅使用引号和带 (en) 的文本 ,例如文本 (en)' 使用正则表达式:(?<=')[^']*\(en\)(?='),

数据导入

JSON 结构示例:

{
"list": {
        "id":"1",
        “值”:“用于翻译的文本 1”。
        },
"text": {
        "id":"2",
        “值”:“用于翻译的文本 2”。
        },
"menu": {
        "id":"3",
        “值”:“用于翻译的文本 3”。
         },"array": ["blue","green"],"arrays": [{        "color": "blue",        "title":“蓝色”
         },         {        "color": "green",        "title":“绿色” } ]}
  • 要导入每个值而不考虑级别,请使用: (^|.*/)值

  • 要仅从列表中导入一个值,请使用: 列表/值

  • 要从列表和/或菜单导入值,请使用 |(或)运算符: 列表/值|菜单/值

  • 要仅从菜单中导入值的第一个实例,请使用: menu\[1\]/value

  • 要导入某个键后面的 JSON 数组的内容,请使用: (^|.*/)array\[.*\]

  • 要导入对象具体数组的内容,请使用: (^|.*/)arrays\[.*\].*

亚姆导入

YAML 苍蝇示例:

标题:A
文本:翻译 A
类别:
  标题:B
  文本:翻译 B
类别:
  标题:C
  文本:翻译 C
类别:
  content:
      标题:D
      文本:翻译 D

导入正则表达式:

  • “翻译 A”文本

  • “翻译 C”类别\[2\]/文本

  • “翻译 D”类别\[\d+\]/内容[\1\]/文本

  • all text: text|categories\[\d+\]/text|categories\[\d+\]/content[\d+\]/text

分段规则

Okapi, 、JavaUnicode 用于 中的分段规则。SRX 文件。

在 中使用正则表达式。SRX 文件很复杂,建议在尝试工作它们之前了解正则表达式使用的基本知识。

禁止规则(缩写等)和中断规则(句子结尾带点等)位于 中。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.