JS正则相关函数
2021-04-25 18:57:46 0 举报
AI智能生成
js正则, search, replace, match, exec, test
作者其他创作
大纲/内容
String.prototype
.search(string | regexp)
匹配成功, 返回首次匹配项的索引; 否则, 返回 -1
不区分全局模式
.replace(regexp | str, newStr | function)
不会改变原始字符串, 返回一个替换后的新字符串
第一字参数为字符串, 不会转换为正则, 仅第一个匹配项会被替换
第二参数
字符串
$$ 表示插入一个$符号
$&插入匹配的子串
$` 插入匹配的子串左边的内容
$' 插入匹配的子串右边的内容
$n 正则中的捕获组, $1表示第一个捕获组
方法 function(match, p1, p2, ...pn, offset, str)
参数列表
str 被匹配的字符串
match: 匹配的子串(对应是字符串时的$&)
p1...pn 匹配的子串(n表示第n个括号, 对应字符串时的$n)
offset 匹配的子串在原字符串中的偏移量
NamedCaptureGroup 命名捕获匹配的对象
第一个参数是全局模式时(正则, 且使用g标识符)
第二函数会被多次调用, 每次匹配项都会被调用
示例
将传入的字符串中的大写转换为小写, 并在前面加一个连字符(marginTop -> margin-top)
.match(str | regexp)
非全局模式
返回第一个完整匹配及相关捕获组(括号包裹起来的字符)信息
全局模式
返回完整正则表达式匹配所有结果. 不会返回捕获组及相关属性
未匹配到结果返回null
RegExp.prototype
exec
非全局模式
与match方法表现一致
全局模式
执行多次, 每次执行返回的结果同match函数一致.
同时会在正则对象下记录lastIndex位置
当匹配不上时, 返回null, 并且lastIndex记录未0
test
检测一个字符串是否匹配某个模式, 匹配返回true, 否则返回false
0 条评论
下一页