正则表达式(三)

本文详细介绍了正则表达式的标识符,比较了字面量和构造函数创建正则表达式的区别,并通过实例演示如何使用exec、match、replace和search方法操作三位数。涵盖了匹配、查找和字符串替换的实践技巧。
摘要由CSDN通过智能技术生成

(一)正则表达式的标识符

标识符是写在正则表达式的外面,用来修饰整个正则表达式

i:忽略大小写 

g: 全局

(二)两种创建正则表达式的区别

(1)字面量创建

var reg = /abcd/ig

(2)构造函数创建

var reg = new RegExp('abcd', 'ig')

(三)小练习

1. 匹配字符串中的三位数:

(1)使用 exec ,注意 exec 调用一次匹配一次

var reg = /\d{3}/g
console.log(reg.exec('dfg345retrt456rgfg678')[0]) // 345
console.log(reg.exec('dfg345retrt456rgfg678')[0]) // 456
console.log(reg.exec('dfg345retrt456rgfg678')[0]) // 678

 封装方法取值:

var reg = /\d{3}/g

function getResult (reg, str) {
  var result = []
  var startResult = reg.exec(str)
  while (startResult) {
    result.push(startResult[0])
    startResult = reg.exec(str)
  }
  return result
}

console.log(getResult(reg, 'dfg345retrt456rgfg678')) // ["345", "456", "678"]

(2)match匹配:

如果没有全局 g 的时候,匹配第一个符合条件的,返回的格式与 exec 返回一样,需要 【0】

如果有全局匹配 g 的时候,返回的格式是符合的数组

// 匹配字符串中的三位数
var reg = /\d{3}/g
console.log('dfg345retrt456rgfg678'.match(reg)) // ["345", "456", "678"]

2. 全部替换字符串中的三位数为 ***

(1)replace :替换

var reg = /\d{3}/g

console.log('dfg345retrt456rgfg678'.replace(reg, '***')) // dfg***retrt***rgfg***

3. search 方法:

如果找到一个匹配,search方法将返回一个整数值,指明这个匹配距离字符串开始的索引位置。

如果没有找到匹配,则返回-1

var reg = /\d{3}/g

console.log('dfg345retrt456rgfg678'.search(reg)) // 3

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值