导入工具

正则表达式 (TMS)

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

正正则表达式式(缩写为regex或正则表达式)是一串字符,它们表格一个搜索模式,主要使用于与Strings的模式匹配或字字符串匹配。功能至少类似于查找和替换更复杂和具体的操作,或排除定义内容的方法。有关正则表达式的详细说明和使用字符的选项卡,请参阅维基百科条目。

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

正则表达式可用于 CAT 桌面编辑器中的过滤、搜索和替换字段搜索内容功能的原文和译文字段、 (TMS) 中的转换为标记功能和自定义断句规则

导入

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 的字段字符串,行首已添加空格 ('key':)

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

不翻译{{text here}}'{{text here}}内容并将其转换为标记

TXT导入

导入具体文本时的正则表达式示例:

  1. ##错误信息##1##数字必须大于0.##Z##

    导入##1####Z##之间的文本,使用正则表达式:(?<=##1## )。*(?=##Z##)

  2. 错误信息(“数字必须大于0.”)

    导入("和")之间的文本,使用正则表达式:(?<=\(").*(?="\))

  3. 'errorMessage' ='数字必须大于0.'

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

  4. errorMessage = "this is to be翻译"

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

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

    至使用TXT过滤器导入单语汇票文件中的msgstr Strings,使用正则表达式:(?<=msgstr")。*(?=")

  6. #注释:这是注释

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

  7. 值'126','DCeT','应税供应'

    至只导入报价中和带(en)的文本,如文本(en)'使用正则表达式:(?<=')[^']*\(en\)(?=')

JSON导入

JSON 结构示例:

{
"list": {
        "id":"1",
        “值”:“应税供应 1 用于翻译。”
        },
"text": {
        "id":"2",
        “值”:“应税供应 2 用于翻译。”
        },
"menu": {
        "id":"3",
        “值”:“应税供应 3 用于翻译。”
         },"array": ["blue","green"],"arrays": [{        "color": "blue",        "title":“蓝色”
         },         {        "color": "green",        "title":“绿色” } ] }
  • 无论级别如何导入每个值,使用:(^|.*/)值

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

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

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

  • 对于导入某个字符串之后的 JSON 数组的内容,使用:(^|.*/)array\[.*\]

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

YAML导入

YAML 飞行示例:

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

导入正则表达式:

  • “翻译A”文本

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

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

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

断句规则

.SRX文件中的断句规则使用了OkapiJavaUnicode

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

无间断规则(缩写等)和间断规则(句尾带点等)在 .SRX 文件中。

示例

说明

[\p{C}]

无形的控制字符。

[\p{Z}]

空格

[\p{Lu}]

带有小写变体的大写字母。

[\p{N}]

任何类型的数字字符。

\Q ... \E

报价的开始和结束 - (\Q大约\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]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}>|&lt;[biu_\^]{1,4}\})

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}>|&lt;[biu_\^]{1,4}\})

标记后的空格

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

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

标记前没有空格

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}>|&lt;[biu_\^]{1,4}\})

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*&gt;|&lt;[1-9][0-9]*\}|\{[biu_\^]{1,4}>|&lt;[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.