NAME

BSON::Regex - BSON type wrapper for regular expressions

VERSION

version v1.12.2

SYNOPSIS

    use BSON::Types ':all';
    $regex = bson_regex( $pattern );
    $regex = bson_regex( $pattern, $flags );

DESCRIPTION

This module provides a BSON type wrapper for a PCRE regular expression and optional flags.

ATTRIBUTES

pattern

A string containing a PCRE regular expression pattern (not a "qr" object and without slashes). Default is the empty string.

flags

A string with regular expression flags. Flags will be sorted and duplicates will be removed during object construction. Supported flags include "imxlsu". Invalid flags will cause an exception. Default is the empty string.

METHODS

try_compile

    my $qr = $regexp->try_compile;
Tries to compile the "pattern" and "flags" into a reference to a regular expression. If the pattern or flags can't be compiled, a exception will be thrown.
SECURITY NOTE: Executing a regular expression can evaluate arbitrary code if the re 'eval' pragma is in force. You are strongly advised to read re and never to use untrusted input with "try_compile".

TO_JSON

If the "BSON_EXTJSON" option is true, returns a hashref compatible with MongoDB's extended JSON <https://github.com/mongodb/specifications/blob/master/source/extended-json.rst> format, which represents it as a document as follows:
    {"$regularExpression" : { pattern: "<pattern>", "options" : "<flags>"} }
If the "BSON_EXTJSON" option is false, an error is thrown, as this value can't otherwise be represented in JSON.

AUTHORS

David Golden <[email protected]>
Stefan G. <[email protected]>
This software is Copyright (c) 2020 by Stefan G. and MongoDB, Inc.
This is free software, licensed under:
  The Apache License, Version 2.0, January 2004