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.o matches “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*b matches “b” in “bat” and “ab” in “about”. e.*e matches 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.+s matches 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: [[:<:]]in matches 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: