3.6. Test Whether a Regex Matches the Subject String Entirely
Problem
You want to check whether a string fits a certain pattern in its
entirety. That is, you want to check that the regular expression
holding the pattern can match the string from start to end. For
instance, if your regex is ‹regex●pattern›, it will match input text
consisting of regex
pattern but not the longer string The regex pattern can be
found.
Solution
C#
For quick one-off tests, you can use the static call:
bool foundMatch = Regex.IsMatch(subjectString, @"\Aregex pattern\Z");To use the same regex repeatedly, construct a Regex object:
Regex regexObj = new Regex(@"\Aregex pattern\Z");
bool foundMatch = regexObj.IsMatch(subjectString);VB.NET
For quick one-off tests, you can use the static call:
Dim FoundMatch = Regex.IsMatch(SubjectString, "\Aregex pattern\Z")To use the same regex repeatedly, construct a Regex object:
Dim RegexObj As New Regex("\Aregex pattern\Z")
Dim FoundMatch = RegexObj.IsMatch(SubjectString)The IsMatch() call should
have SubjectString as the only
parameter, and the call should be made on the RegexObj instance rather than the Regex class:
Dim FoundMatch = RegexObj.IsMatch(SubjectString)
Java
If you want to test just one string, you can use the static call:
boolean foundMatch = subjectString.matches("regex pattern");If you want to use the same regex on multiple strings, compile your regex and create a matcher:
Pattern regex = Pattern.compile("regex pattern"); Matcher regexMatcher = regex.matcher(subjectString); ...