Regex, or regular expression, is like a secret code that helps you find patterns in text. It tells the computer what to look for, like a word, number, or special format.
Click to reveal answer
beginner
How does regex help in pattern matching?
Regex lets you describe a pattern using symbols and letters. The computer uses this pattern to check if text fits or to find parts that match, making searching faster and smarter.
Click to reveal answer
beginner
In PowerShell, which operator is used to test if a string matches a regex pattern?
The '-match' operator is used in PowerShell to check if a string fits a regex pattern. It returns True if the pattern is found, otherwise False.
Click to reveal answer
intermediate
Why is regex more powerful than simple text search?
Regex can find complex patterns like phone numbers, emails, or repeated words, not just exact words. It understands rules, so it can match many variations with one pattern.
Click to reveal answer
beginner
Give an example of a simple regex pattern and what it matches.
The pattern '\d+' matches one or more digits in a row. For example, it finds '123' in 'Room 123'.
Click to reveal answer
What does regex stand for?
AReal Environment
BRandom Example
CRapid Execution
DRegular Expression
✗ Incorrect
Regex means Regular Expression, a way to describe text patterns.
Which PowerShell operator checks if a string matches a regex pattern?
A-like
B-contains
C-match
D-replace
✗ Incorrect
The '-match' operator tests if a string fits a regex pattern.
What does the regex pattern '\d+' match?
AOne or more digits
BAny special character
CA single space
DOne or more letters
✗ Incorrect
'\d+' matches one or more digits in a row.
Why is regex useful compared to simple text search?
AIt can find exact words only
BIt can find complex patterns and variations
CIt runs slower
DIt only works with numbers
✗ Incorrect
Regex finds complex patterns and many variations with one pattern.
Which symbol in regex means 'one or more' of the previous character?
A+
B?
C*
D^
✗ Incorrect
The '+' symbol means 'one or more' of the previous character.
Explain in your own words why regex enables pattern matching.
Think about how regex describes what to look for in text.
You got /3 concepts.
Describe how you would use PowerShell to check if a string contains a number using regex.
Remember the '\d+' pattern and the '-match' operator.
You got /3 concepts.
Practice
(1/5)
1. What is the main reason regex enables pattern matching in PowerShell?
easy
A. It allows searching text using flexible patterns instead of exact words.
B. It runs faster than all other PowerShell commands.
C. It only works with numbers, not text.
D. It automatically fixes spelling mistakes in text.
Solution
Step 1: Understand regex purpose
Regex is designed to find text that matches a pattern, not just exact words.
Step 2: Compare options
Only It allows searching text using flexible patterns instead of exact words. correctly describes regex's ability to match flexible text patterns.
Final Answer:
It allows searching text using flexible patterns instead of exact words. -> Option A
Quick Check:
Regex = flexible text search [OK]
Hint: Regex matches patterns, not exact text [OK]
Common Mistakes:
Thinking regex only works with numbers
Believing regex fixes spelling errors
Assuming regex is always faster than other commands
2. Which of the following is the correct PowerShell syntax to check if the string 'Hello123' contains digits using regex?
easy
A. 'Hello123' -contains '\d+'
B. 'Hello123' -match '[a-z]+'
C. 'Hello123' -match '\d+'
D. 'Hello123' -like '*\d+'
Solution
Step 1: Identify correct operator and pattern
PowerShell uses '-match' to test regex patterns. '\d+' matches one or more digits.
Step 2: Check options
'Hello123' -match '\d+' uses '-match' with '\d+' correctly. Others use wrong operators or patterns.
Final Answer:
'Hello123' -match '\d+' -> Option C
Quick Check:
Use '-match' with '\d+' for digits [OK]
Hint: Use '-match' with '\d+' to find digits [OK]
Common Mistakes:
Using '-contains' instead of '-match'
Using '-like' with regex patterns
Forgetting to escape backslash in regex
3. What will be the output of this PowerShell command?
'PowerShell123' -match '\d{3}'
medium
A. false
B. true
C. 123
D. Error
Solution
Step 1: Understand the regex pattern
'\d{3}' matches exactly three digits in a row.
Step 2: Check the string for pattern
'PowerShell123' contains '123' which matches three digits, so '-match' returns true.
Final Answer:
true -> Option B
Quick Check:
Digits '123' found = true [OK]
Hint: '-match' returns true if pattern found [OK]
Common Mistakes:
Expecting the matched text instead of true/false
Confusing '-match' with '-replace'
Thinking it returns false if digits are at the end
4. Identify the error in this PowerShell command that tries to check if 'Test123' contains letters:
'Test123' -match '[A-Z]+'
medium
A. The regex pattern should be '\\d+' to match letters.
B. The '-match' operator is incorrect; should use '-contains'.
C. The string 'Test123' is not quoted properly.
D. The regex pattern only matches uppercase letters, missing lowercase letters.
Solution
Step 1: Analyze the regex pattern
'[A-Z]+' matches only uppercase letters, but 'Test123' has lowercase 'e', 's', 't'.
Step 2: Identify the error
Because pattern misses lowercase letters, it won't match 'Test123' correctly.
Final Answer:
The regex pattern only matches uppercase letters, missing lowercase letters. -> Option D
Quick Check:
Pattern misses lowercase letters = Error [OK]
Hint: Use [a-zA-Z] to match all letters [OK]
Common Mistakes:
Using '-contains' instead of '-match'
Ignoring case sensitivity in regex
Confusing digits '\\d' with letters
5. You want to extract all words starting with 'a' or 'A' from the string 'Apple and apricot are awesome'. Which PowerShell command correctly uses regex to do this?
hard
A. [regex]::Matches('Apple and apricot are awesome', '\b[aA]\w*') | ForEach-Object { $_.Value }
B. 'Apple and apricot are awesome' -replace '\b[aA]\w*', ''
C. 'Apple and apricot are awesome' -match '\b[aA]\w*'
D. [regex]::Matches('Apple and apricot are awesome', '\b[aA]\w*').Value
Solution
Step 1: Understand the goal and regex
The pattern '\b[aA]\w*' matches words starting with 'a' or 'A'.
Step 2: Check PowerShell methods
'-match' returns true/false, not matches. '-replace' removes text. [regex]::Matches returns all matches, but .Value returns only first match. Using ForEach-Object extracts all matched words.
Final Answer:
[regex]::Matches('Apple and apricot are awesome', '\b[aA]\w*') | ForEach-Object { $_.Value } -> Option A
Quick Check:
Use [regex]::Matches with ForEach-Object for all matches [OK]
Hint: Use [regex]::Matches and loop to get all matches [OK]
Common Mistakes:
Using '-match' which returns only true/false
Using '-replace' which removes matched text
Using .Value on Matches returns only first match
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.