正则表达式

一、含义

             正则表达式是用于匹配字符串中字符组合的模式,在js中,正则表达式也是对象。通常用来查找,替换那些符合正则表达式的文本,许多语言都支持正则表达式。

二、语法

2.1定义规则

             const 变量名=/表达式/

例如:  

Const reg=/前端/

注:其中/ /是正则表达式字面量

2.2查找

               判断是否有符合规则的字符串。使用test()方法 用来查看正则表达式与指定的字符串是否匹配。

例如:

const str='IT培训,前端开发'
const reg=/前端/
console.log(reg.test(str))

    如果正则表达式与指定的字符串匹配,返回true,否则false.

2.3检索(查找)符合规则的字符串

例如:

const str = '我们在学习前端,希望学习前端能高薪毕业。'
// 1.定义规则
const reg = /前端/
// 2.检索
console.log(reg.exec(str))

返回的是数组,否则为false数组里的是第一次匹配的结果。

三、元字符

1.边界符

^

表示匹配行首的文本(以谁开始)

$

表示匹配行尾的文本(以谁结束)

如果^和$在一起,表示必须是精确匹配。

例如:

console.log(/^哈哈$/.test('哈'))//false
console.log(/^哈$/.test('哈'))//true

2.量词

*

重复零次或更多次

+

重复一次或更多次

重复零次或一次

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

重复n次到m次

3.字符类

(1)[]表示匹配字符集合;/^[]$/表示精确匹配,只能匹配一个字母

例如:

console.log(/[abc]/.test('aacc'))//true
console.log(/^[abc]{5}$/.test('aaccb'))//true

(2)连字符-,表示一个范围

例如:

console.log(/^[a-z]$/.test('c'))//true

[a-z]表示a到z26个英文字母都可以

[a-zA-Z]表示大小写都可以

[A-Z]大写

[0-9]表示0~9的数字都可以

(3)取反符号^(要在[]里面添加)

                 [^a-z]匹配除了小写字母以外的字符

(4).(点)表示匹配除换行符以外的任何单个字符

(5)预定义:指的是某些常见模式的简写方式。

预定类说明
\d匹配0-9之间的任一数字,相当于[0-9]
\D匹配所有0-9以外的字符,相当于[^0-9]
\w匹配任意的字母、数字和下划线,相当于[A-Za-z0-9]
\W除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9]
\s匹配空格(包括换行符、制表符、空格符等),相当于[\r\t\n\v\f]
\S匹配非空格的字符,相当于[^ \r\t\n\v\f]

4.修饰符

(1)语法

              /表达式/修饰符

例如:

console.log(/a/i/test('a'))//true
console.log(/a/i.test('A'))//true

i是ignore的缩写,正则匹配时字母不区分大小写

g是global的缩写,匹配所有满足正则表达式的结果(全局替换)

(2)替代replace

字符串.replace(/正则表达式/,'替换的文本')
const str = 'java是一门编程语言,学完JAVA'
const reg = str.replace(/java/ig, '前端')
console.log(reg)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值