Regular Expressions¶
Regular expressions describe patterns in strings that can be used in order to determine whether a given pattern occurs in a text or not. In SpaceObServer, regular expressions can be used to find specific files and / or folders that match the criteria specified by regular expressions.
The following shows some of the most used syntax and provides a few examples:
- Any character (.)
Matches any single character except a line break. Example:
a.omatches “aro” in “around” and “abo” in “about” but not “acro” in “across”.- Zero or more (*)
Matches zero or more occurrences of the preceding expression, and makes all possible matches. Example:
a*bmatches “b” in “bat” and “ab” in “about”.e.*ematches the word “enterprise”.- One or more (+)
Matches at least one occurrence of the preceding expression. Example:
ac+matches words that contain the letter “a” and at least one instance of “c”, such as “race”, and “ace”.a.+smatches the word “access”.- Start of string (^)
Matches the start of a string. Example:
^[0-9]matches strings that start with a digit.- End of string ($)
Matches the end of a string. Example:
exe$matches strings that end with “exe”.- Beginning of word ([[:<:]])
Matches only when a word starts at this point in the text. Example:
[[:<:]]inmatches words such as “inside” and “into” that begin with the letters “in”.- End of word ([[:>:]])
Matches only when a word ends at this point in the text. Example:
ss[[:>:]]matches words such as “across” and “loss” that end with the letters “ss”.- Any one character in the set ([])
Matches any one of the characters in the []. To specify a range of characters, list the starting and ending characters separated by a dash (-), as in [a-z]. Example:
be[n-t]matches “bet” in “between”, “ben” in “beneath”, and “bes” in “beside” but not “bel” in “below”.- Any one character not in the set ([^…])
Matches any character that is not in the set of characters that follows the ^. Example:
be[^n-t]matches “bef” in “before”, “beh” in “behind”, and “bel” in “below”, but not “ben” in “beneath”.- Or (|)
Matches either the expression before or the one after the OR symbol (|). Mostly used in a group. Example:
(sponge|mud)matches “sponge bath” and “mud bath”.- Escape character (\)
Matches the character that follows the backslash (\) as a literal. This lets you find the characters that are used in regular expression notation, such as { and ^. Example:
\^searches for the ^ character.- Repeat n times ({n})
Matches n occurrences of the preceding expression. Example:
[0-9]{4}matches any 4-digit sequence.- Grouping (())
Lets you group a set of expressions together. If you want to search for two different expressions in a single search, you can use the Grouping expression to combine them. Example: If you want to search for
[a-z][1-3]or[0-9][a-z], you would combine them:([a-z][1-3])|([0-9][a-z]).
More examples:¶
- [0-9] or d
Find all files/folders with at least one digit in its name.
- a|b
Find all files/folders containing “a” or “b” in their name.
- [^(A-Za-z)]
Find all files/folders containing at least one character in their name that is not in the range A-Z or a-z.
- ^E[0-9]{7}$
Find all files/folders which start with an “E” followed by exactly 7 digits.
- [A-Za-z]:\([^\]+\){2,4}[^\]+$
Find all files/folders with a folder depth of at least 2 and at most 4.
- [^x00-x7F]
Find all files/folders with invalid ASCII characters.
- [^P{C}]
Find all files/folders with Unicode characters which cannot be printed.
- [xA0]
Find all file/Folder names that contain the non-breakable space character (Unicode NOBR, U+00A0) instead of a normal space character.
- [~” #%&*:<>?/\{|}]
Find all file and folder names, that contain characters which are invalid on SharePoint servers.
- ^s+..*
Find all files and folders with a leading space.
- s+(.[^.]+)$
Find files with an extension that have a trailing space at the end of their name.
- ..*s+$
Find folders with a trailing space at the end of their name.
Further information and additional examples can be found read here. A description of all special characters that can be used with regular expression can be found see here.
The following tools can assist in forming regular expressions:
https://regex101.com/ (online)
http://regexpal.com/ (online)
http://sourceforge.net/projects/regextester/ (download)
http://sourceforge.net/projects/regaxe/ (download)