The * quantifier means "match zero or more occurrences" of the preceding character or group. For example, a* matches '', 'a', 'aa', 'aaa', and so on.
Click to reveal answer
beginner
What is the difference between + and ? quantifiers in regex?
+ means "one or more occurrences" while ? means "zero or one occurrence" of the preceding element. For example, a+ matches 'a', 'aa', 'aaa', but not ''. a? matches '' or 'a'.
Click to reveal answer
beginner
What does the anchor ^ do in a regex pattern?
The ^ anchor matches the start of a string. For example, ^Hello matches 'Hello world' but not 'Say Hello'.
Click to reveal answer
beginner
What does the anchor $ do in a regex pattern?
The $ anchor matches the end of a string. For example, world$ matches 'Hello world' but not 'world peace'.
Click to reveal answer
beginner
In PowerShell, how would you check if a string starts with 'Test' using regex anchors?
You can use the -match operator with the pattern ^Test. For example: 'Test string' -match '^Test' returns True because the string starts with 'Test'.
Click to reveal answer
What does the regex quantifier ? mean?
AOne or more occurrences
BZero or more occurrences
CZero or one occurrence
DExactly one occurrence
✗ Incorrect
The ? quantifier matches zero or one occurrence of the preceding element.
Which regex anchor matches the end of a string?
A^
B$
C\b
D\A
✗ Incorrect
The $ anchor matches the end of a string.
In PowerShell, which operator is used to test if a string matches a regex pattern?
A-match
B-eq
C-contains
D-like
✗ Incorrect
The -match operator tests if a string matches a regex pattern.
What does the regex quantifier + require at minimum?
AOptional occurrence
BZero occurrences
CTwo occurrences
DOne occurrence
✗ Incorrect
The + quantifier requires at least one occurrence of the preceding element.
What does the regex pattern ^abc$ match?
AStrings exactly equal to 'abc'
BStrings starting with 'abc'
CStrings ending with 'abc'
DAny string containing 'abc'
✗ Incorrect
The pattern ^abc$ matches strings that are exactly 'abc' with nothing before or after.
Explain how regex quantifiers *, +, ? differ and give a simple example for each.
Think about how many times the character can appear.
You got /4 concepts.
Describe how anchors ^ and $ help in matching patterns in strings.
Anchors fix the position in the string where the match must occur.
You got /3 concepts.
Practice
(1/5)
1. In PowerShell regex, what does the quantifier + mean when used like a+?
easy
A. Matches zero or more occurrences of 'a' in a row
B. Matches one or more occurrences of 'a' in a row
C. Matches exactly one 'a'
D. Matches zero or one occurrence of 'a'
Solution
Step 1: Understand the quantifier '+' meaning
The '+' quantifier means "one or more" repetitions of the preceding character or group.
Step 2: Apply to the example 'a+'
So, a+ matches strings with at least one 'a' repeated consecutively.
Final Answer:
Matches one or more occurrences of 'a' in a row -> Option B
Quick Check:
'+' means one or more repetitions [OK]
Hint: Remember '+' means at least one repetition [OK]
Common Mistakes:
Confusing '+' with '*' which means zero or more
Thinking '+' matches exactly one occurrence
Mixing '+' with '?' which means zero or one
2. Which of the following is the correct PowerShell regex pattern to match a string that starts with 'test' and ends immediately after?
easy
A. ^test$
B. test^$
C. ^test
D. test$
Solution
Step 1: Understand anchors '^' and '$'
'^' matches the start of the string, and '$' matches the end of the string.
Step 2: Combine anchors to match exact string
Using ^test$ ensures the string starts and ends exactly with 'test' and nothing else.
Final Answer:
^test$ -> Option A
Quick Check:
'^' start and '$' end anchors combined [OK]
Hint: Use ^ at start and $ at end for exact match [OK]
Common Mistakes:
Placing anchors in wrong order like 'test^$'
Using only one anchor and missing full match
Confusing anchors with quantifiers
3. What will be the output of this PowerShell command?
$text = 'aaaab'; $text -match '^a{3,5}b$'
medium
A. True
B. False
C. Error
D. Null
Solution
Step 1: Analyze the regex pattern '^a{3,5}b$'
This pattern matches strings starting with 3 to 5 'a's followed immediately by 'b' and nothing else.
Step 2: Check the string 'aaaab'
'aaaab' has 4 'a's followed by 'b', which fits the {3,5} quantifier and anchors.
Final Answer:
True -> Option A
Quick Check:
String matches pattern with 4 'a's and ends with 'b' [OK]
Hint: Count characters and check quantifier range [OK]
Common Mistakes:
Ignoring anchors and matching partial strings
Miscounting the number of 'a's
Confusing {3,5} with exact count
4. Identify the error in this PowerShell regex usage:
A. The pattern should use a single backslash: '^hello\d+$'
B. The quantifier + is invalid here
C. The pattern is correct and will match
D. The anchors ^ and $ are misplaced
Solution
Step 1: Check the regex pattern syntax
The pattern ^hello\d+$ correctly matches strings starting with 'hello' followed by one or more digits until the end.
Step 2: Verify PowerShell string escaping
In PowerShell single-quoted strings, backslash is literal, so '\d' is correct to represent digit class.
Final Answer:
The pattern is correct and will match -> Option C
Quick Check:
Pattern syntax and anchors are correct [OK]
Hint: Remember PowerShell single quotes treat backslash literally [OK]
Common Mistakes:
Thinking double backslash is always wrong in PowerShell
Misplacing anchors causing partial matches
Assuming quantifiers like '+' are invalid
5. You want to match strings in PowerShell that start with 'cat' followed by zero or more 's', and end exactly there. Which regex pattern should you use?
hard
A. ^cat?s$
B. ^cat+s$
C. cats*$
D. ^cats*$
Solution
Step 1: Understand the requirement
The string must start with 'cat', then have zero or more 's', and end immediately after.
Step 2: Analyze each pattern
^cats*$: ^cats*$ means start with 'cat', then zero or more 's', end of string -- matches requirement.
^cat+s$: ^cat+s$ means start with 'ca' then one or more 't's, then 's' at end -- incorrect.
^cat?s$: ^cat?s$ means start with 'ca', zero or one 't', then 's' at end -- incorrect.
cats*$: cats*$ no start anchor, so can match anywhere -- incorrect.
Final Answer:
^cats*$ -> Option D
Quick Check:
'^cat' start, 's*' zero or more, '$' end [OK]
Hint: Use ^ for start, $ for end, * for zero or more [OK]
Common Mistakes:
Using '+' instead of '*' for zero or more
Missing anchors causing partial matches
Misplacing quantifiers after wrong characters
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.