Using Flags
Three XQuery functions use regular expressions: matches, replace, and tokenize. Each of these functions accepts a $flags
argument that allows for additional options in the interpretation of the regular expression, such as multi-line processing and case insensitivity. Options are indicated by single letters; the $flags argument is a string that can include any of the valid letters in any order, and duplicates are allowed.
The $flags argument allows four options:
-
s The letter
sindicates dot-all mode, which affects the period wildcard (.). (This is known as single-line mode in Perl.) This means that the period wildcard matches any character whatsoever, including the line feed (#xA) character. If the lettersis not specified, the period wildcard matches any character except the line feed (#xA) character.-
m The letter
mindicates multi-line mode, which affects anchors. In multi-line mode, the ^ and $ characters match the beginning and end of a line, as well as the beginning and end of the whole string.-
i The letter
iindicates case-insensitive mode. This means that matching does not distinguish between normal characters that are case variants of each other, as defined by Unicode. For example, in case-insensitive mode,[a-z]matches the lowercase letters a through z, uppercase letters A through Z, and a few other characters such as a Kelvin sign. The meaning of category escapes such as\p{Lu}is not affected.-
x The letter
xindicates that whitespace characters ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access