0
0
PowerShellscripting~20 mins

Common regex patterns in PowerShell - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Regex PowerShell Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of this PowerShell regex match?
Given the string 'Contact: user@example.com', what will be the output of this command?

$string = 'Contact: user@example.com' if ($string -match '\b\w+@\w+\.\w+\b') { $matches[0] }
PowerShell
$string = 'Contact: user@example.com'
if ($string -match '\b\w+@\w+\.\w+\b') { $matches[0] }
Auser@example.com
BContact
Cexample.com
DNo match
Attempts:
2 left
💡 Hint
Look for the pattern that matches an email format.
💻 Command Output
intermediate
2:00remaining
What does this regex extract from the date string?
Given the string 'Date: 2024-06-15', what will this command output?

$date = 'Date: 2024-06-15' if ($date -match '(\d{4})-(\d{2})-(\d{2})') { "$($matches[1])/$($matches[2])/$($matches[3])" }
PowerShell
$date = 'Date: 2024-06-15'
if ($date -match '(\d{4})-(\d{2})-(\d{2})') { "$($matches[1])/$($matches[2])/$($matches[3])" }
ANo match
BDate
C06-15-2024
D2024/06/15
Attempts:
2 left
💡 Hint
The regex captures year, month, and day in groups.
📝 Syntax
advanced
2:00remaining
Which regex pattern matches a US phone number format?
Which option correctly matches a US phone number like (123) 456-7890 in PowerShell regex?
A\d{3}-\d{3}-\d{4}
B\(\d{3}\) \d{3}-\d{4}
C\(\d{3}\)\d{3}-\d{4}
D\(\d{3}\) \d{3} \d{4}
Attempts:
2 left
💡 Hint
Look for the pattern with parentheses, space, and dash in correct places.
🔧 Debug
advanced
2:00remaining
Why does this regex fail to match an IP address?
This PowerShell code tries to match an IP address but fails:

$ip = '192.168.1.1' if ($ip -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}') { 'Match' } else { 'No match' }

Why does it fail?
AThe dot (.) is not escaped, so it matches any character.
BThe regex pattern is missing anchors ^ and $.
CThe backslashes are not escaped properly in the regex string.
DThe quantifiers {1,3} are invalid in PowerShell regex.
Attempts:
2 left
💡 Hint
Check how backslashes are handled in PowerShell strings.
🚀 Application
expert
3:00remaining
Extract all hashtags from a tweet using PowerShell regex
You have this tweet string:

$tweet = 'Learning #PowerShell and #regex is fun! #automation'

Which PowerShell command extracts all hashtags as an array?
A[regex]::Matches($tweet, '#\w+').ForEach({ $_.Value })
B[regex]::Matches($tweet, '#\w+').Value
C([regex]::Matches($tweet, '#\w+')).Value
D[regex]::Matches($tweet, '#\w+').Cast().Select({ $_.Value })
Attempts:
2 left
💡 Hint
Look for a method to iterate over matches and extract their values.