Regex Syntax: SSH Patterns

The escape character is a tilde ~. With this you can escape metacharacters to use them in their plain character form.

Tip

In configuration the backslash (\) is used to escape the list separator (',').

In the following examples literal E and F denote any expression, whether a pattern or a character.

(

Start a capturing subexpression.

)

End a capturing subexpression.

{

Start an anonymous, noncapturing subexpression.

}

End an anonymous, noncapturing subexpression.

E|F

Disjunction, match either E or F (inclusive). E is preferred if both match.

E*

Act as Kleene star, match E zero or more times.

E*?

Act as Kleene star, but match nongreedily (lazy match).

E+

Closure, match E one or more times.

E+?

Closure, but match non-greedily (lazy match).

E?

Option, match E optionally once.

E??

Option, but match non-greedily (lazy match).

.

Match ANY character, including possibly the NULL byte and the newline characters.

E/ n /

Match E exactly n times.

E/ n ,/ or E/ n ,0/

Match E n or more times.

E/, n / or E/0, n /

Match E at most n times.

E/ n , m /

Match E no less than n times and no more than m times.

E/n,/?, E/ n ,0/?, E/, n /?, E/0, n /?, E/ n , m /?

The lazy versions of above.

[

Start a character set. See the section "Escaped Tokens for Regex Syntax SSH.”

>C

One-character lookahead. ‘C’ must be either a literal character or parse as a character set. Match the empty string anywhere provided that the next character is ‘C’ or belongs to it.

<C

One-character lookback. As above, but examine the previous character ...

Get SSH, The Secure Shell: The Definitive Guide, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.