一、JavaScript有两种方式创建一个正则表达式:
第一种方式是直接通过/正则表达式/
写出来,第二种方式是通过new RegExp('正则表达式')
创建一个RegExp对象(这里要注意使用字符转义)。
两种写法是一样的。
二、JavaScript中正则表达式应用方法。
方法 | 描述 |
---|---|
exec |
一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回null)。 |
test |
一个在字符串中测试是否匹配的RegExp方法,它返回true或false。 |
match |
一个在字符串中执行查找匹配的String方法,它返回一个数组或者在未匹配到时返回null。 |
search |
一个在字符串中测试匹配的String方法,它返回匹配到的位置索引,或者在失败时返回-1。 |
replace |
一个在字符串中执行查找匹配的String方法,并且使用替换字符串替换掉匹配到的子字符串。 |
split |
一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中的String方法。 |
三、元字符
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
w | 匹配字母或数字或下划线或汉字 |
s | 匹配任意的空白符 |
d | 匹配数字 |
匹配单词的开始或结束 | |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
四、重复
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} |
重复n到m次 |
五、字符类
六、分枝条件
七、分组
八、反义
九、零宽断言
十、JS不支持负向的 (?<=exp) 和 (?<!exp),只支持正向的(?=exp) 和 (?!exp)