Regex Syntax: ZSH_FILEGLOB (or Traditional) Patterns

The escape character is a backslash (). With this you can escape metacharacters to use them in their plain character form.

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

*

Match any string consisting of zero or more characters. The characters can be any characters apart from slashes (/). However, the asterisk does not match a string if the string contains a dot (.) as its first character, or if the string contains a dot immediately after a slash. This means that the asterisk cannot be used to match filenames that have a dot as their first character.

If the previous character is a slash (/), or if an asterisk (*) is used to denote a match at the beginning of a string, it does match a dot (.).

That is, the asterisk (*) functions as normal in Unix shell fileglobs.

?

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 normal in Unix shell fileglobs (at least in ZSH, although discarding the dot may not be a standard procedure).

**/

Match any sequence of characters that is either empty, or ends in a slash. However, the substring /. is not allowed. This mimics the **/ construct in ZSH. (Please note that ** is equivalent to *.)

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 (covered next).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.48.135