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 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 <david@mongodb.com>

  • Stefan G. <minimalist@lavabit.com>

COPYRIGHT AND LICENSE

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