测试方法
正则表达式 x.test("abc")
字符串 x.match("abc")
原子表和原子组中的选择符
[]或意思,不用加|
^除了外都要
(12|34)需要加|,匹配整体
转义
确保字符串console.log后和非字符串相同
边界约束
^开头
$结尾
[a-z]{3-6}找到三到六位
^[a-z]{3-6}$起始到结束三到六位
元字符
最小字符,一类字符中的一个
大写与小写相反
\d 数字
\D 除了数字外
\w 字母数字下划线
\d 数字
\d+ 一个或多个数字
. 除换行外任意字符
\. 小数点
\s 空白
\S 除了空白外
空格 空白
匹配任何字符 例如[\s\S]
模式修正符
/i 不区分大小写
/g 匹配全部
/ig 或 /gi 不区分大小写匹配全部
/m 多行匹配
中文属性
x.match(/\p{sc=han}/gu)
宽字节 加u匹配
lastindex
使用会有更多信息
reg.exec(abc)
y模式 有效
排除匹配
/[^\d:\-,]/+/g
原子组不解析
[]内
原子组 组合从左往右123 用\1\2\3表示
表示一个组内元素会多个可选项时选择
不记录分组((?:))
?:在前面,没有括号的是有没有都行
重复(贪婪)
+一个或多个
*零或多个
{min,max}限定数量
?零或一个
批量
regs.every(e=>e.test(value))
/abc+/贪婪
/abc+?/禁止贪婪
最新浏览器 使用matchAll完成全局匹配
低端浏览器
利用exec完成全局匹配
$替换
$1 $2原子组
$`匹配成前边内容
$'匹配为后边内容
$&匹配自己
...args 数组
原子组别名
(?<con>)
$<con>
正则方法
test 正则.test(abc)
exec 与match不使用全局一致,使用全局只有一个
?=断言匹配
条件语句,检测后面内容
(?=教程)
?<=检测前面内容
?!检测后边不是
?<!检测前面不是
正则表达式学习笔记
最新推荐文章于 2023-02-03 02:52:28 发布