Skip to main content
Version: v6

Should-MatchString

This page was generated

Contributions are welcome in Pester-repo.

SYNOPSIS

Tests whether a string matches a regular expression pattern.

SYNTAX

Should-MatchString [-Expected] <Object> [[-Actual] <Object>] [-CaseSensitive] [-Because <string>]

DESCRIPTION

The Should-MatchString assertion compares the actual string to the expected regular expression pattern using the -match operator. The -match operator is case-insensitive by default, but you can make it case-sensitive by using the -CaseSensitive switch.

EXAMPLES

EXAMPLE 1

(New-Guid).Guid | Should-MatchString '^[0-9a-f-]{36}$'

This assertion passes, because a GUID is made up of 36 lowercase hexadecimal and dash characters.

EXAMPLE 2

'user-4f2a' | Should-MatchString '^user-[0-9a-f]{4}$'

This assertion passes, because the generated id matches the expected user- prefix followed by four hexadecimal characters. This is handy for checking that a function returns ids, tokens or file names in the format you expect.

EXAMPLE 3

'Pester 6.0.0' | Should-MatchString 'pester \d+\.\d+\.\d+' -CaseSensitive

This assertion fails, because with -CaseSensitive the lowercase pester in the pattern does not match the capitalized Pester in the actual value.

PARAMETERS

-Actual

The actual value.

Type: System.Object
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 1
IsRequired: false
ValueFromPipeline: true
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Because

The reason why the actual value should match the regular expression pattern.

Type: System.String
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: Named
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-CaseSensitive

Indicates that the comparison should be case-sensitive.

Type: System.Management.Automation.SwitchParameter
DefaultValue: False
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: Named
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-Expected

The expected regular expression pattern.

Type: System.Object
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 0
IsRequired: true
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.Object

OUTPUTS

NOTES

Use the -ErrorAction parameter to control soft-assertion behavior for this assertion. -ErrorAction Continue records the failure and lets the rest of the test run (a soft assertion), while -ErrorAction Stop fails the test immediately, for example to guard a precondition before continuing.

When -ErrorAction is not specified, the behavior comes from Should.ErrorAction in the configuration, which defaults to Stop. See https://pester.dev/docs/assertions/soft-assertions for more about soft assertions.

VERSION

This page was generated using comment-based help in Pester 6.0.0.