如果你想学到更多实用前端知识。
可以关注我的公众号:【前端驿站Lite】,一个不止分享前端的地方 ᕦ( •̀∀•́)ᕤ
阅读收获
阅读完本篇文章,你将会有以下收获:
- 正则限定符、元字符、范围类、字符类、懒惰匹配、修饰符、断言等基础知识
- js常用正则方法,如:test、exec、match、replace、search、split等
限定符
?
表示出现1次或0次
'a2232kk1123aaa33224'.match(/a?\d{4}/g) // [ 'a2232', '1123', 'a3322' ]
+
表示出现1次或多次,即至少有1次
'a2232kk1123aaa33224'.match(/a?\d{4}/g) // [ 'a2232', 'aaa3322' ]
*
表示出现0次或多次,即可以没有,也可以有多个
'a2232kk1123aaa33224'.match(/a*\d{4}/g) // [ 'a2232', '1123', 'aaa3322' ]
{n}
表示出现n次{n,}
表示出现n次或多次{n,m}
表示出现n到m次
'9999a2232kk1123ccccc33224ddddd12234'.match(/[akcd]{2}\d{4}/g) // [ 'kk1123', 'cc3322', 'dd1223' ]
'9999a2232kk1123ccccc33224ddddd12234'.match(/[akcd]{1,}\d{4}/g) // [ 'a2232', 'kk1123', 'ccccc3322', 'ddddd1223' ]
'9999a2232kk1123ccccc33224ddddd12234'.match(/[akcd]{0,2}\d{4}/g) // [ '9999', 'a2232', 'kk1123', 'cc3322', 'dd1223' ]
元字符
.
表示除换行符以外的任意字符
'aaaa5aa6b'.match(/a.a/g) // [ 'aaa', 'a5a' ]
^
匹配字符串的开始$
匹配字符串的结束
const reg = /^[0-9][a-z]*@$/
const res = reg.test('9a@')
console.log(res) // true
|
表示或的关系,即满足任意一个条件即可
'a2232kk1123c33224dd12234'.match(/