Web前端之JS高级(1)—— 正则表达式

  1. 正则表达式:
  2. String中的正则API:
    查找:
  3. 查找一个固定的关键词出现的位置:
    var i=str.indexOf(“关键词”[,starti])
    在str中从starti位置开始找下一个"关键词"的位置
    如果省略starti,则默认从0位置开始向后找
    返回: “关键词”第一字所处位置的下标
    如果找不到,返回-1
    问题: 只支持查找一个固定不变的关键词
  4. 用正则表达式查找一个关键词的位置:
    var i=str.search(/正则/i);
    在str中查找符合"正则"要求的敏感词
    返回值: 关键词的位置
    如果找不到,返回-1
    问题: 正则默认区分大小的!
    解决: 在第2个/后加后缀i,表示ignore,意为:忽略大小写
    问题: 只能获得关键词的位置,不能获得关键词的内容
    解决: match
  5. match:
  6. 查找一个关键词的内容和位置:
    var arr=str.match(/正则/i);
    在str中查找符合"正则"要求的敏感词的内容和位置
    返回值: 数组arr:[ “0”:“关键词”, “index”: 下标i ]
    如果找不到: 返回null
    问题: 只能查找第一个关键词,不能查找更多关键词
  7. 查找所有关键词的内容:
    var arr=str.match(/正则/ig) //g global 全局/全部
    返回值: 保存多个关键词内容的数组
    问题: 只能找到内容,无法获得位置
  8. 即获得每个关键词的内容,又获得每个关键词的位置
    reg.exec()
    替换: 将找到的关键词替换为指定的新值
    2种:
  9. 简单替换: 将所有关键词替换为统一的新值
    str=str.replace(/正则/ig,“新值”)
    查找str中所有符合“正则”要求的关键词,都替换为统一的新值。
    问题: 所有字符串API都无权修改原字符串,只能返回新字符串。
    解决: 如果希望替换原字符串,就必须自己手动赋值回原变量中
  10. 高级替换: 根据每次找到的关键词不同,动态选择要替换的新值
    str=str.replace(/正则/ig, function(kword){
    根据kword的不同,动态生成新值
    return 新值
    })
    查找str中所有符合“正则”要求的关键词
    每找到一个关键词,就自动调用一次回调函数
    每次调用回调函数时自动传入本次找到的关键词给kword
    回调函数中根据每次收到kword的不同,动态返回新值给replace函数
    replace函数自动将回调函数返回的新值,替换到字符串原关键词位置。
    切割:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值