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); ...
Get Regular Expressions Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.