# bson_append_regex()

## Synopsis

    bool
    bson_append_regex (bson_t     *bson,
                       const char *key,
                       int         key_length,
                       const char *regex,
                       const char *options);

## Parameters

bson | A bson_t.
key | An ASCII C string containing the name of the field.
key_length | The length of key in bytes, or -1 to determine the length with strlen().
regex | An ASCII string containing the regex.
options | An optional string containing the regex options as a string.

## Description

Appends a new field to bson of type BSON_TYPE_REGEX. regex should be the regex string. options should contain the options for the regex.

Valid characters for options include:

- 'i' for case-insensitive.

- 'm' for multiple matching.

- 'x' for verbose mode.

- 'l' to make \w and \W locale dependent.

- 's' for dotall mode ('.' matches everything)

- 'u' to make \w and \W match unicode.

## Returns

true if the operation was applied successfully, otherwise false and bson should be discarded.