点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!
说到正则表达式,相信大家或多或少也熟悉了一遍。先来简单复习一下,比如,构建一个正则表达式,就两种方式:
1. 字面量:由包含在斜杠之间的模式组成。举个例子,像下面这样:

这种方式的优点就是:加载时编译性能好。
2. 构造函数:new RegExp()

第二种方式的优点的是:运行时编译,可动态修改。
通过上面的简单复习,我们对正则表达式有了了解,接下来我们来讲一下正则表达中那些常用的方法及使用。
有这么一个例子:
let regex = /aa/
let str = 'ruaaobaaabaa'
功能:测试是否匹配,返回true或false。
如:regex.test(str)
返回:true。
功能:查找匹配的内容,有则返回一个数组,未匹配则返回null。
regex.exec(str)
返回:
["aa", index: 2, input: "ruaaobaaabaa", groups: undefined]
功能:查找匹配的内容,有则返回一个数组,未匹配则返回null。
如:str.match(regex)
返回:
["nn", index: 2, input: "runnobnnnbnn", groups: undefined]
四、方法search
功能:查找匹配的内容,有则返回位置索引,未匹配则返回-1。
str.match(regex)
返回:2
功能:查找匹配的内容,并且使用替换字符str1串替换掉匹配到的子字符串。
str.replace(regex, str1)
返回:假如str1 = 'cc',返回结果就是:'ruccobaaabaa'
功能:使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中。
如:str.split(regex)
返回:["ru", "ob", "ab", ""]
上面方法需要注意的是match方法在非全局匹配时,跟exec很相似。
最后总结一下:
关于正则表达式,在日常工作时用的也是非常多,搞懂这门个方法,就能搞定你的大部分场景。搞懂正则的定义方式,熟悉一些在线工具的辅助,正则表达式就没有什么问题了。
| 留言与评论(共有 0 条评论) |