Escape Characters

To query on words or symbols that have special meaning in query expressions such as and & or| accum, you must escape them. There are two ways to escape characters in a query expression, as described in Table 4-2.

Table 2 Characters for Escaping Query Terms

Escape Character Description
{}

Use braces to escape a string of characters or symbols. Everything within a set of braces in considered part of the escape sequence.

When you use braces to escape a single character, the escaped character becomes a separate token in the query.

\ Use the backslash character to escape a single character or symbol. Only the character immediately following the backslash is escaped. For example, a query of blue-green matches blue-green and blue green.

In the following examples, an escape sequence is necessary because each expression contains a Text operator or reserved symbol:

'high-voltage'
'{high-voltage}'

'XY\&Z'
'{XY&Z}'

In the first example, the query matches high-voltage or high voltage.

Note that in the second example, a query on XY&Z will return ‘XY Z’, ‘XY-Z’, ‘XYZ’, and so forth, as well as ‘XY&Z’. This is because non-alphabetic characters are treated as whitespace (so *XY&Z is treated as ‘XY Z’). To match only XY&Z, you must declare & as a printjoin. (If you do, however, XY&Z will not match ‘XY & Z’.) For more on printjoins, see BASIC_LEXER.

Note: If you use braces to escape an individual character within a word, the character is escaped, but the word is broken into three tokens. For example, a query written as high{-}voltage searches forhigh - voltage, with the space on either side of the hyphen.

Querying Escape Characters

The open brace { signals the beginning of the escape sequence, and the closed brace } indicates the end of the sequence. Everything between the opening brace and the closing brace is part of the escaped query expression (including any open brace characters). To include the close brace character in an escaped query expression, use }}. To escape the backslash escape character, use \.