Skip to main content
eLearner.app
Module 5 · Lesson 1 of 417/32 in the course~8 min
Module lessons (1/4)

Character sets: `[abc]`

When a predefined class like \d or \w is not enough, you can define a custom character set with square brackets [...]. Inside the brackets, each character is an alternative: the regex matches one of any of the listed elements.

Code
Pattern: [aeiou]
Sample:  ciao mondo
         ^   ^^  ^^

Each vowel is a match on its own. Brackets match exactly one character (unless quantified): [aeiou]+ matches a contiguous sequence of vowels.

Special characters inside brackets

Inside [...] most meta-characters lose their special meaning:

  • . inside [.] matches a literal dot (no escape needed).
  • *, +, ?, (, ), {, } are literal.
  • \ ] ^ instead remain special and must be escaped or carefully positioned.
Code
Pattern: [.,;:]
Match: any punctuation mark among dot, comma, semicolon, colon.

Special characters inside square brackets

Most regex meta-characters (., *, +, ?, etc.) lose their special meaning inside brackets and are treated as literal characters. Only the dash -, the caret ^ at the start, and the backslash \\ retain operational meanings.

Try it

Exercise#regex.m5.l1.e1
Attempts: 0Loading…

Find every vowel (a, e, i, o, u, including uppercase) in the text, one by one.

Loading editor…
Show hint

Add the uppercase vowels inside the brackets, or use the i flag.

Solution available after 3 attempts

Review exercise

Exercise#regex.m5.l1.e2
Attempts: 0Loading…

Find punctuation marks: dot, comma, semicolon, colon, exclamation mark, question mark.

Loading editor…
Show hint

Inside [.,;:!?] all characters are literal, no escaping needed.

Solution available after 3 attempts

Additional challenge

Exercise#regex.m5.l1.e3
Attempts: 0Loading…

Find all Italian accented vowels (`àèéìòù`) in the text.

Loading editor…
Show hint

List the accented letters inside square brackets.

Solution available after 3 attempts