JavaScript RegExp 对象 | 正则表达式

本文详细介绍了JavaScript中的RegExp对象及其使用,包括实例方法如test()和exec(),正则表达式的元字符、量词、锚点和转义字符,以及字符串的正则方法如match()、split()和replace()。同时讲解了正则表达式的标志、零宽度断言、贪婪匹配与惰性匹配等高级特性,是学习JavaScript正则表达式的实用指南。
摘要由CSDN通过智能技术生成

正则表达式(Regular Expression)是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。

regexp

创建正则表达式的两种方法:字面量、RegExp 构造函数

字面量,以斜杠表示开始和结束:

const regex = /abc/

RegExp 构造函数:

const regex = new RegExp('abc')

RegExp 构造函数还可以接受第二个参数,表示修饰符:

const regex = new RegExp('abc', 'i')

实例方法

test()

test() 方法返回一个布尔值,表示当前模式是否能匹配参数字符串。

/lit/.test('I am a lit') // true

exec()

exec() 方法在一个指定字符串中执行一个搜索匹配。返回一个结果数组或 null

const str = '_x_x'

/x/.exec(str) // ['x', index: 1, input: '_x_x', groups: undefined]
/y/.exec(str) // null

实例属性

  • ignoreCase 只读属性。返回一个布尔值,表示是否设置了 i 修饰符。
  • multiline 只读属性。返回一个布尔值,表示是否设置了 m 修饰符。
  • global 只读属性。返回一个布尔值,表示是否设置了 g 修饰符。
const reg = /abc/igm

reg.ignoreCase // true
reg.global // true
reg.multiline // true

Tips:这些修饰符的作用下文有做解释。

lastIndex 可读可写。返回一个数值,表示下一次开始搜索的位置。

/(hi)?/g.lastIndex // 0

source 只读属性。返回正则表达式的字符串形式(不包括反斜杠)。

/abc/igm.source // "abc"

unicode 只读属性。属性表明正则表达式带有 u 修饰符。

/\u{61}/u.unicode // true

sticky ES6 新增的只读属性。表示是否设置了y修饰符。

/foo/y.sticky // true

flags ES6 新增。该属性返回一个字符串,由当前正则表达式对象的修饰符组成,以字典序排序(从左到右,即 "gimuy")。

/foo/ig.flags // "gi"
/bar/myu.flags .flags // "muy"

字符串的正则方法

match()

match() 方法检索返回一个字符串匹配正则表达式的结果数组。

'The fat cat sat on the mat.'.match(/a/g) // ["a", "a", "a", "a"]

split()

split() 按照给定规则进行字符串分割,返回一个数组,包含分割后的各个成员。

语法

str.split(separator, [limit])

该方法接受两个参数,第一个参数是正则表达式,表示分隔规则,第二个参数是返回数组的最大成员数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值