正则表达式学习笔记

测试方法
正则表达式 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不使用全局一致,使用全局只有一个

?=断言匹配
条件语句,检测后面内容
(?=教程)
?<=检测前面内容
?!检测后边不是
?<!检测前面不是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值