---
name: "BSON::Regex"
section: "3pm"
platform: "linux"
package: "libbson-perl"
version: "1.12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/BSON::Regex"
---

# BSON::Regex(3pm)

BSON type wrapper for regular expressions

## 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 \<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
```
