RegExp.prototype.dotAll

The dotAll property indicates whether or not the s flag is used with the regular expression. dotAll is a read-only property of an individual regular expression instance.

Try it

Property attributes of RegExp.prototype.dotAll
Writable no
Enumerable no
Configurable yes

Description

The value of dotAll is a Boolean and true if the s flag was used; otherwise, false. The s flag indicates that the dot special character (.) should additionally match the following line terminator ("newline") characters in a string, which it would not match otherwise:

  • U+000A LINE FEED (LF) (\n)
  • U+000D CARRIAGE RETURN (CR) (\r)
  • U+2028 LINE SEPARATOR
  • U+2029 PARAGRAPH SEPARATOR

This effectively means the dot will match any character on the Unicode Basic Multilingual Plane (BMP). To allow it to match astral characters, the u (unicode) flag should be used. Using both flags in conjunction allows the dot to match any Unicode character, without exceptions.

You cannot change this property directly.

Examples

Using dotAll

const str1 = 'bar\nexample foo example';

const regex1 = new RegExp('bar.example','s');

console.log(regex1.dotAll); // Output: true

console.log(str1.replace(regex1,'')); // Output: foo example

const str2 = 'bar\nexample foo example';

const regex2 = new RegExp('bar.example');

console.log(regex2.dotAll); // Output: false

console.log(str2.replace(regex2,'')); // Output: bar
                                      //         example foo example

Specifications

Specification
ECMAScript Language Specification
# sec-get-regexp.prototype.dotAll

Browser compatibility

BCD tables only load in the browser

See also