Special Characters
- Describe the purpose of metacharacters.
- Place backslashes, tabs, line-feeds and carriage-returns into patterns.
- Interpret patterns containing these metacharacters: ^, $, ?, *, +
- Use metacharacters as literal characters in patterns (escaping).
Character Classes
- Explain what a character class is.
- Use appropriate metacharacters to implement negation (^), ranges (-), unions (nested classes), intersections/subtractions (&&).
- Name and use the predefined character classes: ., \d, \D, \s, \S, \w, \W.
(Out of scope: POSIX character classes, java.lang.Character classes, Classes for Unicode blocks and categories)
Boundary Matchers
- Employ these boundary matchers in patterns: \b, \B, \A, \G, \Z, \z.
Quantifiers
- Explain the differences between greedy, reluctant and possessive quantifiers.
- Recognise which parts of a pattern request greedy, reluctant or possessive searches.
Grouping
- Create "sub-patterns" within a pattern using grouping.
- Know how capturing groups are numbered; identify a capturing group by its number.
- Explain the difference between capturing and non-capturing groups.
(Out of scope: back references)