C-4
Cisco CRS-1 Series Carrier Routing System Getting Started Guide
Appendix C Understanding Regular Expressions, Special Characters, and Patterns
Pattern Alternation
The order for matches using multipliers (*, +, and ?) is to put the longest construct first. Nested
constructs are matched from outside to inside. Concatenated constructs are matched beginning at the left
side of the construct. Thus, the regular expression matches A9b3, but not 9Ab3 because the letters are
specified before the numbers.
Pattern Alternation
Alternation can be used to specify alternative patterns to match against a string. Separate the alternative
patterns with a vertical bar (
|). Only one of the alternatives can match the string. For example, the regular
expression codex
|telebit matches the string codex or the string telebit, but not both codex and telebit.
Anchor Characters
Anchoring can be used to match a regular expression pattern against the beginning or the end of the
string. Regular expressions can be anchored to a portion of the string using the special characters shown
in Table C-3.
For example, the regular expression ^con matches any string that starts with con, and $sole matches any
string that ends with sole.
In addition to indicating the beginning of a string, the ^ symbol can be used to indicate the logical
function “not” when used in a bracketed range. For example, the expression [^abcd] indicates a range
that matches any single letter, as long as it is not the letters a, b, c, and d.
Underscore Wildcard
Use the underscore character to match the beginning of a string (^), the end of a string ($), parentheses
(( )) , space ( ), braces ({}), comma (,), and underscore (_). The underscore character can be used to
specify that a pattern exists anywhere in the string. For example, _1300_ matches any string that has
1300 somewhere in the string and is preceded by or followed by a space, brace, comma, or underscore.
Although _1300_ matches the regular expression {1300_, it does not match the regular expressions
21300 and 13000t.
The underscore character can replace long regular expression lists. For example, instead of specifying
^1300( ) ( )1300$ {1300, ,1300, {1300} ,1300, (1300, simply specify _1300_.
Parentheses Used for Pattern Recall
Use parentheses with multiple-character regular expressions to multiply the occurrence of a pattern. The
Cisco IOS XR software can remember a pattern for use elsewhere in the regular expression.
Table C-3 Special Characters Used for Anchoring
Character Description
^ Matches the beginning of the string.
$ Matches the end of the string.