JS基本引用类型(一)——正则表达式

引用类型

JS引用类型是数据和功能的集合,但并非是类。
这些东西也被称为内置对象。

正则表达式

正则表达式可以用来匹配字符串的使用类型,很方便。

创建

正则表达式有两种创建方法
一种是的构造函数创建方法

let reg = new RegExp(“pattern”, “flags”)

一种是以字面量的方法创建👍

let expression = /pattern/flags;

如上所示正则表达式包含两个部分 pattern 和flags

匹配模式

匹配模式有十一种元字符,加上其他匹配字符,构成表达式主体

  • ^ 表示匹配开头
  • + 匹配1一次或多次
  • * 匹配0次或多次
  • | 或字符
  • ? 匹配0次或一次
  • . 除了换行符在之外的所有字符
  • \ 转义字符
  • () 括号内的优先匹配
  • [] 多个元素或在一起
  • {} 三种用法{n,m} 匹配n~m次,{n}匹配n次{n,}至少n次
标记

标记一共有六种

  • g 全局模式,其他的找到第一个内容就退出
  • i 不区分大小写
  • m 多行匹配
  • y
  • u
  • s
RegExp的属性值

regexp中有六个属性用来存储六种标记
以source和flag 分别存放不带反斜杠的pattern和标记

RegExp的实例方法

常用的实例方法有三个

exec()

返回一个数组,这个数组有额外的index和input属性;
数组中会存放匹配到的字符并按照索引排布
如果没有匹配成功,则返回null

match()

match()返回匹配到的数组,没有匹配到返回null

test()

最简单的,匹配成功返回true,匹配失败返回false

代码示例

1.判断书写格式

给定字符串 str,检查其是否符合美元书写格式
1、以 $ 开始
2、整数部分,从个位起,满 3 个数字用 , 分隔
3、如果为小数,则小数部分长度为 2
4、正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3

 let rex =  /^\$(\d{1,3})(,\d{3})*(\.\d{2})?$/;
 console.log(rex.test("$229.92"));

只会返回true和false

2.获取字符串

给定字符串 str,检查其是否包含 连续3个数字,请使用正则表达式实现。
1、如果包含,返回最先出现的 3 个数字的字符串
2、如果不包含,返回 false

function captureThreeNumbers(str) {
    let rex = /\d{3}/;
    if (rex.test(str)){
        return rex.exec(str)[0];
    }
    else{
        return rex.test(str);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值