ES2018 新特征之:正则表达式 dotAll 模式
ES2018 新特性
“正则表达式的 1. 概述在 JavaScript 正则表达式中 1.1 多字节 emoji 字符let regex = /^.$/; regex.test('?'); // false 我们可以通过设置 let regex = /^.$/u; regex.test('?'); // true 1.2 行终结符(line terminator characters)行终结符包含:
还有一些其它字符,也可以作为一行的开始:
目前 JavaScript 正则表达式的 let regex = /./; regex.test('n'); // false regex.test('r'); // false regex.test('u{2028}'); // false regex.test('u{2029}'); // false regex.test('v'); // true regex.test('f'); // true regex.test('u{0085}'); // true 在正则表达式中,用于表示字符串开头和字符串结尾的元字符是 /foo.bar/.test('foonbar'); // false /foo[^]bar/.test('foonbar'); // true 或者使用 /foo.bar/.test('foonbar'); // false /foo[s]bar/.test('foonbar'); // true 2. 增加 s/dotAll 标志在最新的 ECMAScript 规范中,为 JavaScript 的正则表达式增加了一个新的标志 /foo.bar/s.test('foonbar'); // true High-level API const re = /foo.bar/s; // 等价于 const re = new RegExp('foo.bar','s'); re.test('foonbar'); // true re.dotAll; // true re.flags; // "s" 3. 命名由来既然是为了实现 dotAll 功能,为什么不命名为
在支持正则表达式使用 flag 的语言如 Perl、PHP 也使用
singleline(单行)对应的是 multiline(多行)。
/^java/.test('justnjavan'); // false /^java/m.test('justnjavan'); // true
目前在 JavaScript 正则表示中所有修饰符的含义:
4. 实现
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |