js正则自用版

推荐一个在线测试和解读正则表达式的网站:
https://regex101.com/
学习地址:
http://www.runoob.com/jsref/jsref-obj-regexp.html
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions


创建一个正则表达式的两种方法:

 const pattern = /test/
//创建RegExp实例,传入的是一个字符串
const pattern = new RegExp("test","i")

上面两种创建正则表达式的方式有什么区别?
第一种不能含有变量
第二种由于使用字符串所以可以进行字符串拼接,拼上变量
对于在开发环境明确的推荐使用正则字面量,在运行时推荐使用构造函数


修饰符:

i 对大小写不敏感 /xxx/i
g 查找所有匹配项,查到第一个匹配时不会停止,继续向下

起止符号:
^指定开头字母,$指定结尾字母

匹配字符集:
[abc] 匹配abc中的任意一个字符
[^abc] 匹配除了abc外的任意一个字符
字符集的范围操作[a-z]

量词:
在字符后面添加?,比如/t?est/可以匹配test和est,匹配0次或1次
在字符后面添加+,比如/t+est/可以匹配test,ttest,匹配1次或多次
在字符后面添加*,比如/test/,匹配前字母0或1次,或多次
指定重复次数:{4} {4,10},{4,}

贪婪与非贪婪
以上运算符都可以是贪婪或者非贪婪,默认贪婪匹配所有可能字符,在运算符后添加?为非贪婪
比如a+?,对于字符串aaa,/a+/会匹配全部三个字符,而非贪婪模式/a+?/则匹配一个字符a

常用预定义字符集:
. 匹配除了换行符外的任意字符
\d 等价于[0-9]
\D 等价于[^0-9]
\w 匹配任何字母,数字和下划线 等价于[A-Za-z0-9]
\W
\s匹配任意空白字符
\S

分组:
前面的+*等符号只能影响其前面的术语
如果对一组术语使用操作符可以使用圆括号进行分组
使用 | 表示或,比如/(ab)+|(cd)+/可以匹配一个或多个ab或cd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值