<div>test():检测一个内容是否与正则匹配, 返回布尔值</div>
<div>exec():检测一个内容是否匹配正则 匹配返回正则,不匹配返回null</div>
<div>选择符:| 或的意思</div>
<div>修饰符: i 不区分大小写</div>
<div>修饰符: g 全文匹配</div>
<div>字符串可以配合正则用 replace match---match相当于g全局查找</div>
<div>元字符:
[]匹配中括号内任意一个
[^]除了中括号内的任意字符
[0-9]匹配数字0-9范围的
[a-z][A-Z] 或者[a-zA-Z]匹配字母的
\d匹配数字
\D匹配非数字
\w匹配数字,字母,下划线====》[a-zA-Z0-9]
\W匹配非数字,字母,下划线
\s匹配空格
/S匹配非空格
\b匹配边界
/B匹配非边界
.匹配除了换行符(\n)以外的任意字符
-----转义-----
转义字符:\ ---所有加上转移字符失去了它原有的匹配意义
贪婪模式:取最大值
/\d{3,6}/g;会全局匹配6为数字,如果有12位,会全部匹配
懒惰模式:取最小值
/\d{3,6}?/g; 会每次匹配3位数字
限定符:^:以什么什么开始
$:以什么什么结束
重复:{n} :重复n次
{n,} 重复最少n次,最多不限
{n,m} 重复最少n次,最多m次
* 重复最少0 次,最多不限
+ 重复最少1次,最多不限
?重复最少0次,最多1次
分组:():把部分内容组合到一起
例:var reg1=/abc{3}/;
var str1='abcabcabc'
c应该重复三次
var reg1=/(abc){3}/;
var str1='abcabcabc'
这样abc会重复三次
字符类:来获取分组内的内容
$1:代表第1个分组
$2:代表第2个分组
$3:代表第3个分组
...
前提:正则首先执行一次
例:
var str=2022-06-13
var reg1=/^(\d{4})-(\d{2})-(\d{2})/
reg.test(str)正则首先执行一次 ,不执行,后面拿不到
想要获取月份06 console.log(RegExp.$2)
前瞻:
正向前瞻:(?=):匹配符合的 --只是做一个条件判断
例:
看一看\d(数字)后面的是不是字母,是字母匹配到
var reg =/\d(?=[a-z])/g;
var str='1adsefdwre456tyr;
str1.replace(reg,'*')//得出*adsefdwre45*tyr
负向前瞻:(?!):匹配不符合的
看一看\d(数字)后面的不是字母,是字母匹配到
var reg =/\d(?=[a-z])/g;
var str='1adsefdwre456tyr;
str1.replace(reg,'*')//得出1adsefdwre**6tyr
后顾:js正则没有后顾