正正则表达式式(缩写为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}}内容并将其转换为标记 |
导入具体文本时的正则表达式示例:
-
##错误信息##1##数字必须大于0.##Z##
导入##1##至##Z##之间的文本,使用正则表达式:
(?<=##1## )。*(?=##Z##)
-
错误信息(“数字必须大于0.”)
导入("和")之间的文本,使用正则表达式:
(?<=\(").*(?="\))
-
'errorMessage' ='数字必须大于0.'
导入=符号之后和'和''之间的文本,使用正则表达式:
(?<=\=')。*(?=')
-
errorMessage = "this is to be翻译"
至=符号之后和“和”之间导入文本使用正则表达式:
(?<=\=“)。*(?=”
-
msgstr(“数字必须大于0.”)
至使用TXT过滤器导入单语汇票文件中的msgstr Strings,使用正则表达式:
(?<=msgstr")。*(?=")
-
#注释:这是注释
至少排除以 # 开头的行,使用正则表达式:
(^[^#]。*)
-
值'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":“绿色” } ] }
-
无论级别如何导入每个值,使用:
(^|.*/)值
-
仅从列表导入一个值,使用:
列表/值
-
要从列表和/或菜单导入值,使用 | (OR) 运算符:
列表/值|菜单/值
-
对于仅从菜单导入值的第一个实例,使用:
menu\[1\]/value
-
对于导入某个字符串之后的 JSON 数组的内容,使用:
(^|.*/)array\[.*\]
-
至导入具体对象数组的内容,使用:
(^|.*/)arrays\[.*\]。*
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文件中的断句规则使用了Okapi、Java和Unicode。
在 .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 检查 |
原文正则表达式表达式 |
译文正则表达式 |
---|---|---|
译文中的附加数字 |
|
|
标记顺序(未配对) |
|
|
标记顺序(未配对) |
|
|
标记顺序(未配对) |
|
|
标记顺序(已配对) |
|
|
标记顺序(已配对) |
|
|
标记前的空格 |
|
|
标记后的空格 |
|
|
标记前没有空格 |
|
|
缺少方括号 |
|
|
缺少圆括号 |
|
|