\b: 单词边界
eg:\bis\b 匹配is这个单词
- 至少有一个
^表开头、$表结尾
g:global全文搜索,不添加,搜索到第一个匹配停止
i:igonre case忽略大小写,默认大小写敏感
eg:/\bis\b/gi 匹配全文is不分大小写
/、//和.需要反斜杠\转义
()表分组、[]表或者,中括号内加^是取反
范围类:
[a-z]:闭区间包含a—z
[a-zA-Z]:闭区间a—zA—Z
预定义类:
量词:
?出现零次或一次(最多出现一次)
- 出现一次或多次(至少出现一次)
- 出现零次或多次(任意次)
{n} 出现n次
{n,m}出现n到m次
{n,}至少出现n次
贪婪模式:尽可能多的匹配
eg:\d{3,6}数字匹配3,6次
非贪婪模式:尽量少的匹配,一旦匹配成功不再继续尝试,在量词后面加上问号
eg:\d{3,5}?/g数字匹配3,6次
反向引用:
eg:
2019-12-20 => 20/12/2019
“2019-12-20”.replace(/(\d{4})-(\d{2})-(\d{2})/g,"$2$3$1")
分组用$符匹配
忽略分组:加上?:
方法:
非全局调用:
exec()对字符串执行搜索,并将更新全局RegExp对象的属性以反映匹配结果,无结果返回null,否则返回数组
数组内容:index:声明匹配文本的第一个字符的位置;input存放被检索的字符串string
search(reg)
match(reg)
非全局调用:返回数组,第一个元素存放匹配文本,index声明匹配文本的其实字符串在字符串的位置,input声明对stringObject的引用;
split();
eg:‘a1d2f3t4y5u6’.split(/\d/g)
[“a”, “d”, “f”, “t”, “y”, “u”, “”]
replace()