声明方式
字面量形式
new形式
常用方法
1.test:匹配到返回true,没有匹配到返回false
pattern.test(string)
2.exec:返回匹配项及其索引
pattern.exec(string)
3.replace:替换字符
string.replace(pattern,'a')
4.match:将所有匹配项以数组形式返回
string.match(pattern)
修饰符
g:全局匹配
i:忽略大小写
m:多行匹配
字符组
\d:数字,[0-9]
\D:非数字,[^0-9]
\w:数字字母,[0-9a-zA-Z]
\W:非数字字母,[^0-9a-zA-Z]
\s:空白符,空格、水平制表符、垂直制表符、换行符、回车符、换页符
\S:非空白符
. :通配符
量词
{m,} 表示至少出现m次。
{m} 等价于{m,m},表示出现m次。
{m,n}表示m到n次
? 等价于{0,1},表示出现或者不出现。记忆方式:问号的意思表示,有吗?
+ 等价于{1,},表示出现至少一次。记忆方式:加号是追加的意思,得先有一个,然后才考虑追加。
* 等价于{0,},表示出现任意次,有可能不出现。记忆方式:看看天上的星星,可能一颗没有,可能零散有几颗,可能数也数不过来。
贪婪匹配和惰性匹配
贪婪匹配:尽可能多的匹配
惰性匹配:匹配数量达到后就停止,一般是贪婪匹配后面加个?号
/\d{2,6}/:贪婪匹配,能匹配6个就匹配六个
/\d{2,6)?/:惰性匹配,匹配两个就停止