Challenge - 5 Problems
Switch Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate2:00remaining
Output of Switch with Wildcard Matching
What is the output of this PowerShell script using switch with wildcard matching?
PowerShell
$input = "file123.txt" switch -Wildcard ($input) { "file*" {"Matched file pattern"} "data*" {"Matched data pattern"} default {"No match"} }
Attempts:
2 left
💡 Hint
Remember that -Wildcard matches patterns with * as a wildcard.
✗ Incorrect
The input 'file123.txt' matches the wildcard pattern 'file*', so the switch outputs 'Matched file pattern'.
💻 Command Output
intermediate2:00remaining
Switch with Regex Matching Output
What will this PowerShell switch statement output when using regex matching?
PowerShell
$input = "123-45-6789" switch -Regex ($input) { '^\d{3}-\d{2}-\d{4}$' {"SSN format detected"} '^\w+@\w+\.com$' {"Email format detected"} default {"Unknown format"} }
Attempts:
2 left
💡 Hint
Look at the regex patterns and see which matches the input string.
✗ Incorrect
The input matches the SSN regex pattern exactly, so the switch outputs 'SSN format detected'.
🔧 Debug
advanced2:00remaining
Identify the Error in Switch with Wildcard
This PowerShell script is intended to match inputs starting with 'test' using wildcard in switch, but it throws an error. What is the cause?
PowerShell
$input = "testing123" switch ($input) { -Wildcard "test*" {"Starts with test"} default {"No match"} }
Attempts:
2 left
💡 Hint
Check where the -Wildcard parameter is placed in the switch syntax.
✗ Incorrect
The -Wildcard parameter is a switch statement option and must be placed immediately after the switch keyword, not inside the block.
🚀 Application
advanced3:00remaining
Using Switch with Mixed Wildcard and Regex
You want to write a PowerShell switch statement that matches inputs starting with 'log' using wildcard and inputs matching a date format using regex. Which code snippet correctly implements this?
Attempts:
2 left
💡 Hint
PowerShell switch can only use one matching mode at a time; use script blocks for mixed matching.
✗ Incorrect
PowerShell switch supports only one matching mode per statement. To mix wildcard and regex, use script blocks with conditions inside the switch.
🧠 Conceptual
expert3:00remaining
Behavior of Switch with Wildcard and Regex on Multiple Matches
In PowerShell, when using switch with the -Wildcard parameter, what happens if multiple patterns match the input? How does this differ from using -Regex with multiple matches?
Attempts:
2 left
💡 Hint
Think about how switch processes multiple matches in PowerShell.
✗ Incorrect
PowerShell switch runs all matching cases for both -Wildcard and -Regex modes, not just the first match.