正規表現にdotAllフラグが追加された
概要
正規表現でドット「.
」を改行文字にもマッチさせることができるようになった。
説明
正規表現でドット「.
」は殆どの文字にマッチするが、改行文字にはマッチしないという性質がある。
ES2018ではs
(dotAll)フラグを付けることで、ドットを改行文字にもマッチさせることができるようになった。
例:
var text = ` JavaScriptは【プロトタイプベ ース】のオブジェクト指向言語 である` // 【】の中身が欲しいとき、改行文字が含まれるためドットを使うと上手くいかない text.match( /【.+】/ ) // null // ES2017以前は改行文字にもマッチさせるためにしばしば/[\s\S]/や/[^]/が使われてきた text.match( /【[\s\S]+】/ ) // "【プロトタイプベ↵ース】" text.match( /【[^]+】/ ) // "【プロトタイプベ↵ース】" // ES2018からはsフラグを立てることで単にドットを使うだけで良くなる text.match( /【.+】/s ) // "【プロトタイプベ↵ース】"
実装されるバージョン
V8 5.9.144