match
match(text: String;
pattern: String;
ignoreCase: Boolean;
explicitCapture: Boolean;
match: JadeRegexMatch io): Boolean;
The match method of the JadeRegex class determines if the specified text completely matches the specified pattern. This is a more‑capable form of the isMatch method, as it records any match, including any capture groups specified in the pattern, as a JadeRegexMatch object. This method returns true if the whole of the text string matches the specified pattern; otherwise it returns false.
The match method parameters are described in the following table.
| Parameter | Description |
|---|---|
| text | Text string against which to determine a match. |
| pattern | Regex pattern string. |
| ignoreCase | Specifies whether matching is case-sensitive. |
| explicitCapture | Specifies whether to generate JadeRegexCapture objects for each sub‑match if your pattern contains capture groups. |
| match |
JadeRegexMatch contains details about the match such as all capture groups for the match and the position within the text of a successful match. It is your responsibility to delete the JadeRegexMatch object when you are finished with it. You can explicitly create and pass a JadeRegexMatch object in which to store the match details or you can pass just a null reference and let the method itself create and populate a JadeRegexMatch object. This allows for minimal overhead for invoking such calls. |
The following is an example of a match type method.
typeMatchExample();
vars
text, pattern, output : String;
isValidUrl : Boolean;
match : JadeRegexMatch;
begin
text := "https://www.jadeworld.com/";
pattern := "(http(?'isSecure'[s]?):\/\/)([\w.]+)([\w\/.])*";
isValidUrl := JadeRegex@match(text, pattern, true, true, match);
if isValidUrl then
output := match.value & " is a valid ";
if match.getCaptureByName('isSecure').value <> '' then
output := output & "and secure ";
endif;
output := output & "url.";
else
write text & " is not a valid url.";
endif;
write output;
/* writes https://www.jadeworld.com/ is a valid and secure url. */
end;
2020.0.01 and higher
