If you’ve ever attempted to use a question mark or an asterisk
in SDL Trados Studio’s display filter, you may have been surprised to get an
error message that looks like this:
In fact, several of the characters below will trigger this message,
while others will simply return unwanted results.
You can test this by creating a simple Word file that
contains these characters, opening it in Studio and attempting to filter using
each character. I’ve indicated the results you’ll get below.
Why is this? Because the display filter has regular
expressions enabled by default, and all of these characters have special
meanings when creating regular expressions. To learn more about the meaning of
each character, have a look at my Regular Expressions for Translators Cheat
Sheet.
So, does this mean you can’t use any of these characters in
the display filter? Not exactly. All you need to do is “escape” each of these characters
whenever you want them to be matched literally. You actually do this by using
one of those metacharacters: the backslash.
The screenshot below shows that after escaping the question
mark character in the display filter, there is no error message and the filter
is properly applied, displaying only the segments that contain a question mark.
Metacharacters that don’t need to be escaped
As you may have inferred from the test above, there are
three metacharacters that don’t really need to be escaped: {, < and >.
This is because their special meaning only applies when they are used in very
specific ways. However, while it may be important for a computer programmer writing code to avoid escaping metacharacters when it's not required, for a linguist looking to quickly filter content while translating, editing or proofreading this is not so critical, so if it’s hard to remember which metacharacters to escape
and which not to, simply escape them all.
Final notes
- SDL Trados Studio uses the .NET regex flavor
- While regular expressions are the default for the regular display filter in SDL Trados Studio, they are optional in the Advanced Display Filter and in the Community Advanced Display Filter
- Escape sequences can be used in Find operations but not in Replace patterns
- To match a literal backslash, use another backslash to escape it: \\
No comments:
Post a Comment