构造正则表达式
// 构造函数
let reg =new RegExp(/[a-z]/,'g');
// 字面量
let reg =/[a-z]/g;
复制代码
test()和exec()
test()方法搜索字符串指定的值,根据结果并返回真或假。
let reg =/^[a-z]+$/;
console.log(reg.test('hello'));
// => true
console.log(reg.test('hello123'));
// => false
复制代码
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
let reg =/e/;
console.log(reg.exec('hello'));
// => e
console.log(reg.exec('world'));
// => null
复制代码
RegExp 修饰符
范围表达式
元气符
\d 就是`[0-9]`。表示是一位数字。记忆方式:其英文是digit(数字)。
\D 就是`[^0-9]`。表示除数字外的任意字符。
\w 就是`[0-9a-zA-Z_]`。表示数字、大小写字母和下划线。记忆方式:w是word的简写,也称单词字符。
\W 是`[^0-9a-zA-Z_]`。非单词字符。
\s 是`[ \t\v\n\r\f]`。表示空白符,包括空格、水平制表符、垂直制表符、换行符、回车符、换页符。记忆
方式:s是space character的首字母。
\S 是`[^ \t\v\n\r\f]`。 非空白符。
`.` 就是`[^\n\r\u2028\u2029]`。通配符,表示几乎任意字符。换行符、回车符、行分隔符和段分隔符除
外。记忆方式:想想省略号...中的每个点,都可以理解成占位符,表示任何类似的东西。
复制代码
量词
{m,n} 表示至少出现m次,至多出现n次。
{m,} 表示至少出现m次。
{m} 等价于`{m,m}`,表示出现m次。
? 等价于`{0,1}`,表示出现或者不出现。
+ 等价于`{1,}`,表示出现至少一次。
* 等价于`{0,}`,表示出现任意次,有可能不出现。
复制代码
支持正则表达式的 String 对象的方法