Match the specified subject having the specified subjectLength against pattern(). Begin matching at the optionally specified subjectOffset in subject. If subjectOffset is not specified, matching begins at the start of subject. subject may contain embedded null characters. UTF‐8 validity checking is performed on subject if pattern() was prepared with k_FLAG_UTF8. On success:
Synopsis
Declared in <bdlpcre_regex.h>
int
match(
bsl::vector<bsl::pair<size_t, size_t>>* result,
char const* subject,
size_t subjectLength,
size_t subjectOffset = 0) const;
Description
1. Load the first element of the specified result with, respectively, a (offset, length) pair or a bslstl::StringRef indicating the leftmost match of pattern(). 2. Load elements of result in the range [1 .. numSubpatterns()] with, respectively, a (offset, length) pair or a bslstl::StringRef indicating the respective matches of sub‐patterns (unmatched sub‐patterns have their respective result elements loaded with either the (k_INVALID_OFFSET, 0) pair or an empty bslstl::StringRef); sub‐patterns matching multiple times have their respective result elements loaded with the pairs or bslstl::StringRef indicating the rightmost match, and return k_STATUS_SUCCESS.
Otherwise, return k_STATUS_NO_MATCH if a match is not found, and another value if an error occurs. If the returned status is not k_STATUS_SUCCESS or k_STATUS_NO_MATCH it may match one of specific k_STATUS_* error return constants defined above (but is not guaranteed to). result is unchanged if a value other than k_STATUS_SUCCESS is returned. The behavior is undefined unless true == isPrepared(), subject || 0 == subjectLength, and subjectOffset <= subjectLength. Note that JIT optimization is disabled if pattern() was prepared with k_FLAG_UTF8; use matchRaw if JIT is preferred and UTF‐8 validation of subject is not required. Also note that after a successful call, result will contain exactly numSubpatterns() + 1 elements.
Created with MrDocs