RegExp正则表达式

本文详细介绍了JavaScript中的RegExp对象,包括正则表达式的语法、修饰符、模式(如方括号和元字符)、编译、执行和测试方法。还列举了String对象的相关方法,如search、match、replace和split,以及它们在处理字符串时的用法和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RegExp(regular expression)正则表达式

RegExp是JavaScript的对象之一

1.语法
var patt = new RegExp(pattern,modifiers) – 这里就相当于新建了一个RegExp对象;
简介语法:
var patt = /pattern/modifiers; --常用这种写法

2.修饰符
一共有三种:i/g/m
**i:**对大小写不敏感 – 就是不区分大小写
**g:**全局匹配 – 不会因为找到了停止匹配
**m:**多行匹配 – 就是

3.模式
3.1 方括号 [ ]
匹配【】之间的内容;例如:[a-z],匹配a-z之间的内容,[abc]查找集合内的字符,[^abc]查找集合之外的内容 等等。

3.2 元字符
. 单个字符,除了换行和行结束符

元字符解释元字符解释
\w查找单词字符(中文也算)\W查找非单词字符
\d查找数字字符\D查找非数字字符
\s查找空白字符\S查找非空白字符
\0查找NUL字符\r回车符
\f换页符\n换行符
\t制表符\v垂直制表符
\xxx以八进制xxx规定的字符\xdd以十六进制xdd规定的字符
\uxxxx以十六进制xxxx规定的Unicode字符.单个字符,除了换行和行结束符

3.3 量词

量词解释量词解释
n+匹配包含 >=1个n 的字符串n*匹配包含 >= 0 个n 的字符串
n{x}匹配包含 x个n 的字符串n{x,y}匹配包含 [x,y]个n 的字符串
n{x,}匹配包含至少 x 个n 的字符串n?匹配包含 0个或1个 n的字符串
^n匹配以n开头的字符串n$匹配以n结尾的字符串
?=n匹配其后紧接n的字符串?!=n匹配其后不紧接n的字符串

4.RegExp对象方法
4.1 compile
编译正则表达式
用法 :RegExpObject.compile(RegExp,modifier)

var patt = new RegExp;
	patt.compile('[abc]','i');
	console.log(patt);

结果:
在这里插入图片描述
4.2 exec
检索字符串中指定的值。返回找到的值,并确定其位置。
用法:RegExpObject.exec(string)

	var foo = 'hello world!';
		var patt = /[adl]/g;
		var result = patt.exec(foo)
		console.log(result);

结果:
在这里插入图片描述
这里可以看出,exec只找到一个值就返回停止继续找了,所以exec返回的是第一匹配的值,并返回其序号值。

4.3 test
检索字符串中指定的值。返回 true 或 false。
用法:RegExpObject.test(string)

		var foo = 'hello world!';
		var patt = /[adl]/g;
		var result = patt.test(foo)
		console.log(result);

结果:
在这里插入图片描述

5.支持正则表达式的string对象方法
5.1 search
检索与正则表达式相匹配的值;返回匹配的起始序号值

用法:string.search(searchvalue) – searchvalue:查找的字符串或者RegExp

		var foo = 'hello world!';
		var patt = /[adl]/g;
		var result = foo.search(patt)
		console.log(result);

结果
在这里插入图片描述

5.2 match
找到一个或多个匹配的值;返回一个或多个匹配的值
用法:string.match(searchvalue)

		var foo = 'hello world!';
		var patt = /[adl]/g;
		var result = foo.match(patt)
		console.log(result);

结果
在这里插入图片描述

5.3 replace
替换与正则表达式匹配的子串;返回替换后的字符串
用法: string.replace(searchvalue,newvalue)

		var foo = 'hello world!';
		var patt = /e/g;
		var result = foo.replace(patt,'a')
		console.log(result);

结果
在这里插入图片描述
5.4 split
把字符串分隔成字符串数组;
用法:string.split(separator,limit) – separator(可选):从该参数指定的地方分隔字符串,limit(可选):指定返回数组的最大长度

		var foo = 'hello world!';
		var patt = /e/g;
		var result = foo.split("",4)
		console.log(result);
		var result = foo.split(' ');
		console.log(result);

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值