Index Index for
Section 5
Index Alphabetical
listing for S
Bottom of page Bottom of
page

sshregex(5)

NAME

sshregex - Glob (wildcard) patterns

DESCRIPTION

The sshregex file describes the regular expressions (or globbing patterns) used in filename globbing with the scp2 and sftp2 commands and in the ssh2_config and sshd2_config configuration files. Regex syntax used with scp2 and sftp2 is ZSH_FILEGLOB. PATTERNS FOR REGEX SYNTAX: EGREP The escape character is a backslash (\). You can use the backslash to specify metacharacters that you want to use in their plain character form. In the following examples, literal E and F denote any expression, such as a pattern or character. ( Start a capturing subexpression. ) End a capturing 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+ Closure, match E one or more times. E? Option, match E optionally once. . Match any character except for newline characters (\n, \f, \r) and the NUL byte. 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. [ Start a character set. (See CHARACTER SETS FOR EGREP AND ZSH_FILEGLOB section. $ Match the empty string at the end of the input or at the end of a line. ^ Match the empty string at the start of the input or at the beginning of a line. ESCAPED TOKENS FOR REGEX SYNTAX: EGREP \0n..n The literal byte with octal value n..n. \0 The NUL byte. \[1-9]..x The literal byte with decimal value [1-9]..x. \xn..n or \0xn..n The literal byte with hexadecimal value n..n. \< Match the empty string at the beginning of a word. \> Match the empty string at the end of a word. \b Match the empty string at a word boundary. \B Match the empty string provided it is not at a word boundary. \w Match a word-constituent character, equivalent to [a:zA:Z0:9-]. \W Match a non-word-constituent character. \a Literal alarm character. \e Literal escape character. \f Literal line feed. \n Literal new line, equivalent to C's \n so can be more than one character long. \r Literal carriage return. \t Literal tab. All other escaped characters denote the literal character itself. PATTERNS FOR REGEX SYNTAX: ZSH_FILEGLOB (or TRADITIONAL) The escape character is a backslash (\). You can use the backslash to specify metacharacters that you want to use in their plain character form. In the following examples, literal E and F denote any expression, such as a pattern or character. * Match any character string. The characters can be any characters except for slash (/). However, the asterisk does not match a string if a dot (.) is the first character, or if the string contains a dot immediately after a slash. If the previous character is a slash (/), or the asterisk (*) is used to denote a match at the beginning of a string, the asterisk does match a dot (.). That is, the asterisk functions as it does in Tru64 UNIX shell file globs. ? Match any single character except for a slash (/). However, do not match a dot (.) if located at the beginning of the string, or if the previous character is a slash (/). That is, the question mark (?) functions as it does in Tru64 UNIX shell file globs. **/ Match any sequence of characters that is either empty or ends in a slash. However, the substring /. is not allowed. The double asterisk (**) is equivalent to the single asterisk (*). E# Act as Kleene star; match E zero or more times. E## Closure; match E one or more times. ( Start a capturing subexpression. ) End a capturing subexpression. E|F Disjunction, match either E or F (inclusive). E is preferred if both match. [ Start a character set. . CHARACTER SETS FOR EGREP AND ZSH_FILEGLOB A character set starts with the open bracket ( [ ) and ends at the non- escaped close bracket ( ] ) that is not part of a POSIX character set specifier and does not follow immediately after an open bracket. The following characters have a special meaning and need to be escaped if meant literally: - (minus sign) A range operator, except immediately after an open bracket, where it loses its special meaning. ^ or ! If immediately after starting an open bracket, denotes a complement: the whole character set will be complemented. Otherwise literal ^. [:alnum:] Characters for which isalnum returns true. [:alpha:] Characters for which isalpha returns true. [:cntrl:] Characters for which iscntrl returns true. [:digit:] Characters for which isdigit returns true. [:graph:] Characters for which isgraph returns true. [:lower:] Characters for which islower returns true. [:print:] Characters for which isprint returns true. [:punct:] Characters for which ispunct returns true. [:space:] Characters for which isspace returns true. [:upper:] Characters for which isupper returns true. [:xdigit:] Characters for which isxdigit returns true. PATTERNS FOR REGEX SYNTAX: SSH The escape character is a tilde (~). You can use the tilde to specify metacharacters that you want to use in their plain character form. In the following examples, literal E and F denote any expression, such as a pattern or character. ( Start a capturing subexpression. ) End a capturing subexpression. { Start anonymous, non-capturing subexpression. } End anonymous, non-capturing 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 non-greedily (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 except for newline characters (\n, \f, \r) and the NUL byte. 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/? The lazy versions of above.. [ Start a character set. >C One-character lookahead. The C must be either a literal character or parse as a character set. You can match the empty string anywhere, provided that the next character is C or belongs to it. <C One-character lookback. Same as above, but examines the previous character instead of the next character. $ Match the empty string at the end of the input. ^ Match the empty string at the start of the input. ESCAPED TOKENS FOR REGEX SYNTAX: SSH ~0n..n The literal byte with octal value n..n. ~0 The NUL byte. ~[1-9]..x The literal byte with decimal value [1-9]..x. ~xn..n or ~0xn..n The literal byte with hexadecimal value n..n. ~< Match the empty string at the beginning of a word. ~> Match the empty string at the end of a word. ~b Match the empty string at a word boundary. ~B Match the empty string provided it is not at a word boundary. ~d Match any digit, equivalent to [0:9]. ~D Match any character except a digit. ~s Match a whitespace character (matches space, newline, line feed, car- riage return, tab and vertical tab). ~S Match a non-whitespace character. ~w Match a word-constituent character, equivalent to [a:zA:Z0:9-]. ~W Match a non-word-constituent character. ~a Literal alarm character. ~e Literal escape character. ~f Literal line feed. ~n Literal new line, equivalent to C's \n so can be more than one character long. ~r Literal carriage return. ~t Literal tab. All other escaped characters denote the literal character itself. CHARACTER SETS FOR REGEX SYNTAX SSH A character set starts with the open bracket ( [ ) and ends at the non- escaped close bracket ( ] ) that is not part of a POSIX character set specifier and does not follow immediately after an open bracket. The following characters have a special meaning and need to be escaped if meant literally: : (colon) A range operator, except immediately after an open bracket where it loses its special meaning. - (minus sign) Until next +, the characters, ranges, and sets will be subtracted from the current set instead of adding. If it appears as the first character after an open bracket, it starts subtracting from a set containing all characters instead of the empty set. + Until next -, the characters, ranges, and sets will be added to the current set. This is the default. [:alnum:] Characters for which isalnum returns true. [:alpha:] Characters for which isalpha returns true. [:cntrl:] Characters for which iscntrl returns true. [:digit:] Characters for which isdigit returns true. [:graph:] Characters for which isgraph returns true. [:lower:] Characters for which islower returns true. [:print:] Characters for which isprint returns true. [:punct:] Characters for which ispunct returns true. [:space:] Characters for which isspace returns true. [:upper:] Characters for which isupper returns true. [:xdigit:] Characters for which isxdigit returns true. It is also possible to include the predefined escaped character sets into a newly defined one, so [~d~s] matches digits and whitespace characters. Also, escape sequences resulting in literals work inside character sets.

EXAMPLE

[[:xdigit:]XY] is typically equivalent to [[0123456789ABCDEFabcdefXY].

LEGAL NOTICES

SSH is a registered trademark of SSH Communication Security Ltd.

SEE ALSO

Commands: scp2(1), sftp2(1) Files: ssh2_config(4), sshd2_config(4)

Index Index for
Section 5
Index Alphabetical
listing for S
Top of page Top of
page