正则表达式

85 阅读1分钟

构造正则表达式

// 构造函数
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 修饰符 1641292471(1).jpg

范围表达式

89XC@2BBBXJ(C8Q_U78~%{0.png

元气符

\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]`。通配符,表示几乎任意字符。换行符、回车符、行分隔符和段分隔符除
 外。记忆方式:想想省略号...中的每个点,都可以理解成占位符,表示任何类似的东西。

复制代码

1641292950(1).jpg

量词

 {m,n}  表示至少出现m次,至多出现n次。
 {m,}  表示至少出现m次。

 {m}  等价于`{m,m}`,表示出现m次。

 ?  等价于`{0,1}`,表示出现或者不出现。

 +  等价于`{1,}`,表示出现至少一次。

 *  等价于`{0,}`,表示出现任意次,有可能不出现。

复制代码

1641293137(1).jpg

支持正则表达式的 String 对象的方法

1641293226(1).jpg