Bird
Raised Fist0
PowerShellscripting~5 mins

match operator in PowerShell - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the PowerShell match operator (-match) do?
The -match operator checks if a string contains a pattern using regular expressions. It returns True if the pattern is found, otherwise False.
Click to reveal answer
beginner
How do you use the match operator to find if 'apple' is in the string 'I like apples'?
You write: 'I like apples' -match 'apple'. This returns True because 'apple' is part of 'apples'.
Click to reveal answer
beginner
What type of pattern does the match operator use?
It uses regular expressions (regex), which are special patterns to find text in strings.
Click to reveal answer
intermediate
What is stored in the automatic variable $matches after a successful -match operation?
$matches is a hashtable that stores the matched text and any captured groups from the regex pattern.
Click to reveal answer
intermediate
How can you perform a case-insensitive match with the match operator?
By default, -match is case-insensitive. To make it case-sensitive, use -cmatch instead.
Click to reveal answer
What does the PowerShell -match operator return when the pattern is found in the string?
ATrue
BFalse
CThe matched string
DAn error
Which variable holds the matched text after using -match?
A$match
B$matches
C$matchedText
D$result
How do you write a case-sensitive match in PowerShell?
A-match
B-imatch
C-cmatch
D-smatch
What kind of patterns does -match use to find text?
ASimple text only
BJSON paths
CXML patterns
DRegular expressions
What will 'Hello World' -match 'world' return?
ATrue
BFalse
CError
DNull
Explain how the PowerShell match operator works and what $matches contains after a match.
Think about searching text and what info you want after a match.
You got /3 concepts.
    Describe how to perform case-sensitive and case-insensitive matches using PowerShell operators.
    Remember the 'c' in -cmatch stands for case-sensitive.
    You got /2 concepts.

      Practice

      (1/5)
      1. What does the PowerShell -match operator do?
      easy
      A. Replaces text in a string
      B. Converts a string to uppercase
      C. Splits a string into an array
      D. Checks if a string contains a pattern using regular expressions

      Solution

      1. Step 1: Understand the purpose of -match

        The -match operator is used to check if a string contains a pattern using regular expressions.
      2. Step 2: Compare with other string operations

        Replacing text, splitting strings, or changing case are done by other operators or methods, not -match.
      3. Final Answer:

        Checks if a string contains a pattern using regular expressions -> Option D
      4. Quick Check:

        -match checks pattern presence [OK]
      Hint: Remember: -match finds patterns, not changes text [OK]
      Common Mistakes:
      • Confusing -match with -replace
      • Thinking it splits strings
      • Assuming it changes string case
      2. Which of the following is the correct syntax to check if the variable $text contains the word "hello" using the match operator?
      easy
      A. $text -match "hello"
      B. $text match "hello"
      C. match $text "hello"
      D. $text -matches "hello"

      Solution

      1. Step 1: Recall correct operator syntax

        The correct operator is -match placed between the variable and the pattern.
      2. Step 2: Identify correct option

        $text -match "hello" uses $text -match "hello", which is the correct syntax. $text -matches "hello" uses -matches which is invalid.
      3. Final Answer:

        $text -match "hello" -> Option A
      4. Quick Check:

        Correct syntax uses -match between variable and pattern [OK]
      Hint: Use -match exactly, no plural or missing dash [OK]
      Common Mistakes:
      • Using -matches instead of -match
      • Omitting the dash before match
      • Placing match before the variable
      3. What is the output of this PowerShell code?
      $text = "PowerShell is fun"
      if ($text -match "fun") { "Yes" } else { "No" }
      medium
      A. No
      B. True
      C. Yes
      D. False

      Solution

      1. Step 1: Evaluate the match condition

        The string "$text" contains the word "fun" so $text -match "fun" returns True.
      2. Step 2: Determine the if statement output

        Since the condition is True, the if block returns "Yes".
      3. Final Answer:

        Yes -> Option C
      4. Quick Check:

        Pattern found, output is "Yes" [OK]
      Hint: If pattern found, -match returns True [OK]
      Common Mistakes:
      • Confusing output with Boolean True/False
      • Assuming output is the matched string
      • Ignoring the if-else structure
      4. Identify the error in this PowerShell snippet:
      $string = "Hello World"
      if ($string -match) { "Match found" } else { "No match" }
      medium
      A. Variable name is invalid
      B. Missing pattern after -match operator
      C. Incorrect use of if statement
      D. Missing quotes around variable

      Solution

      1. Step 1: Check the -match usage

        The -match operator requires a pattern to match against, but none is provided here.
      2. Step 2: Verify other syntax elements

        The variable name and if statement syntax are correct, and quotes around variable are not needed.
      3. Final Answer:

        Missing pattern after -match operator -> Option B
      4. Quick Check:

        -match needs a pattern [OK]
      Hint: Always provide a pattern after -match [OK]
      Common Mistakes:
      • Leaving out the pattern to match
      • Thinking variable needs quotes
      • Misusing if statement syntax
      5. You want to check if a string contains either "cat" or "dog" using -match. Which pattern correctly matches either word?
      hard
      A. "cat|dog"
      B. "cat&dog"
      C. "cat,dog"
      D. "cat dog"

      Solution

      1. Step 1: Understand regex OR operator

        In regular expressions, the pipe symbol | means OR, so "cat|dog" matches either "cat" or "dog".
      2. Step 2: Evaluate other options

        Options A, B, and C do not represent OR in regex and will not match either word correctly.
      3. Final Answer:

        "cat|dog" -> Option A
      4. Quick Check:

        Use | for OR in regex patterns [OK]
      Hint: Use pipe | for OR in regex patterns [OK]
      Common Mistakes:
      • Using commas or spaces instead of |
      • Using & which means AND in some contexts
      • Not knowing regex syntax for OR
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard