为高级显示筛选条件指定正则表达式
正则表达式 (regex) 是一种功能强大的搜索公式,可以在文本中找到复杂的字符模式。在 Trados Studio 中,您可以使用正则表达式来筛选与特定模式匹配的句段。Trados Studio 的正则表达式采用 .NET 语法。
关于此任务
要为高级显示筛选条件的原文或译文字段指定正则表达式,请执行以下操作:
过程
示例
- 正则表达式示例
-
结果 正则表达式 解释 显示原文和译文中具有不同大写字母的所有句段
原文:
^[A-Z]译文:
^[a-z]确保启用区分大小写选项。否则,正则表达式引擎会同时查找两种模式的小写和大写字符串。
^ 插入符表示句段的开始。
[A-Z] 描述了所有大写字母的范围,而 [a-z] 描述了所有小写字母的范围。
显示原文和译文中具有不同句末标点符号的所有句段
原文:
\.$译文:
[^.]$这些表达式会查找原文文本中以句点结尾但译文中不以句点结尾的所有句段对。 在第一个表达式中,
$表示字符串或句段的末尾,反斜杠 (\) 后跟一个点表示文字句点。在第二个表达式中,括号内的插入符表示否定,因此
[^.]表示任何非句点的字符。您可以修改该表达式来搜索其他标点符号。例如,以下 regex 会查找原文中以问号结尾但译文中不以问号结尾的所有句段:
- 原文 regex:
?$ - 译文 regex:
[^?]$
- 原文 regex:
- 正则表达式的反向引用构造
-
反向引用会重用先前在同一正则表达式 (regex) 或相应替换 regex 中标识的子匹配项。当您需要在同一 regex 或其相应替换 regex 中重复
/(abc)(abc)(abc)等字符序列时,反向引用非常有用。您可以通过为原始字符组插入反向引用来重用该字符组(abc),无需多次复制。您可以使用以下格式的命名和编号反向引用:语法 正则表达式 解释 \k<name>\number
引用同一 regex 的上一个组件时
(?<x> abc ) = \k<x>匹配abc=abc“(abc) = \1”匹配“abc=abc”
${group name}$1
引用相应 regex 的组件
(?<TheBoy>Jack) and (?<TheGirl>Jill)匹配原文句段 [EN] 中的Jack and Jill:Jack and Jill went up that hill again!在译文 regex 中,您可以重用带命名或编号反向引用的组 <TheBoy> 和 <TheGirl> 标识的匹配项:
${TheBoy} e ${TheGirl}$1 e $2
这两种都会匹配译文句段 [IT] 中的
Jack e Jill:Jack e Jill salirono di nuovo su quella collina!
- 正则表达式的特殊字符
-
元字符是正则表达式 (regex) 的构建基块。regex 中的字符可以理解为具有特殊含义的元字符,也可以理解为具有文字含义的常规字符。
以下是一些常见的 regex 元字符以及它们在句段中匹配的字符串示例。
元字符 说明 Regex 示例 匹配 \转义字符。取消该列表中任何元字符的特殊含义,该元字符紧跟反斜杠并与文字字符匹配。 “www\.rws\.com”“www.netwrix.com”而不是“www,rws,com”。\b定义单词边界。 \bstud“stud”和“studio”,而不是“tradosstudio”。\w匹配任何单词字符。 \w“ID S1.3”中的“I”、“D”、“S”、“1”、“3”\W匹配任何非 单词字符。
\W“ID S1.3”中的“ ”、“.”\d匹配任何数字字符;相当于 [0-9]Studio\d\d“Studio21”\D匹配任何非数字字符;相当于 [^0-9]Studio\D“Studio-”\s匹配任何非打印字符(空格、制表符、换行符或换页符)。 Trados\sStudio“Trados Studio”和“Trados(制表符)Studio”\S匹配任何非打印字符。 Studio\S“StudioT”和“Studio1”\r匹配回车字符。 \t匹配制表符。 。匹配除换行字符之外的任何单个字符。在方括号内,点是文字。例如: a.c与abc等匹配,但[a.c]只与a、.或c匹配。“t.....”“Welcome to RWS”中的“to RWS”。[ ]创建一个字符类,使其允许您匹配指定的一组字符中的任何一个。 您可以使用
-来指定字符的范围。例如[a-z]匹配任何单个小写字母。[au]“Trados”中的“a”、“Studio”中的“u”。^匹配句段的起始位置。 您也可以通过在字符类的开头添加
^来匹配不在给定字符类中的任何字符。例如[^0-9]匹配不是数字的任何字符。^[^a-z0-9]句段开头不是小写字母也不是数字的任何字符。 确保启用区分大小写选项。否则,正则表达式引擎会查找不以字母或数字开头的字符串。
*零次或多次匹配上一个元素。 \d*\.\d“.0”、“19.9”、“219.9”。?零次或一次匹配上一个元素。它对于查找可选字符非常有用。 colo?r“color”“colour”。+一次或多次匹配上一个元素。 be+“been”、“bent”中的“bee”。|匹配由 | 竖线分隔的任何一个元素。 th(e|is|at)“this is the day”中的“the”、“this”。{n}n次精确匹配左侧字符。be{2}“bee”,但不在“be”中( )创建组并“记住”字符串的匹配部分。组可用于反向引用或提取子字符串。 原文: (?<TheBoy>Jack) and (?<TheGirl>Jill)译文:${TheBoy} e ${TheGirl}
原文句段 [EN] 中的 Jack and Jill:Jack and Jill went up that hill again!在译文 regex 中,您可以重用带命名或编号反向引用的组 <TheBoy> 和 <TheGirl> 标识的匹配项:
${TheBoy} e ${TheGirl}$1 e $2
这两种都会与译文句段 [IT] 中的
“Jack e Jill”匹配:Jack e Jill salirono di nuovo su quella collina!$- 按组或组名称来替换匹配的子字符串。
- 当用作模式的最后一个字符时,它会将匹配定位在字符串的末尾。
要匹配文字
$,请使用\$或将其包含在字符类中,如[$]中。< >将匹配的子表达式捕获到命名组中。 (?<double>\w)\k<double>“deep”中的“ee”-字符范围:从第一个到最后一个匹配范围内的任何单个字符。 [A-Z]“AB123”中的“A”、“B” - 有用资源
-
- Regex buddy 是一个应用程序,使您能够测试、构建、解码和调试正则表达式。它还包括一个常用正则表达式的库。
- 《竞争优势》(A competitive edge)是一篇关于在 Trados Studio 中使用正则表达式的有用的博客文章。
- 《针对初学者的正则表达式》(Regular expressions for beginners) 是一个介绍如何开始使用正则表达式的博客。
- 《正则表达式简介》(Introducing regular expressions) 是 Michael Fitzgerald 撰写的一本在线书籍,介绍了正则表达式的基本原理。
- 正则表达式中的反向引用构造