2021-5-29 正则表达式

本文介绍了正则表达式的创建方法,元字符、重复类、量词符、字符类的使用,以及字面量和匹配规则的应用实例。通过实例演示如何使用`RegExp`和`/`语法创建正则,并解析关键概念如`.`、`^`、`$`、`|`等。
摘要由CSDN通过智能技术生成

正则表达式

1.创建—两种方法
var reg1 = new RegExp(‘abc’);
var reg2 = /abc/;
打印出都是/abc/;

2.匹配规则
<1>.元字符
除了字面量字符以外,还有一部分有特殊含义,不代表字面意思,称之为“元字符”。如果匹配它们本身,就需要在它们面前加上反斜杠进行转义。
点字符 . :匹配除了回车\r,换行\n,行分隔符\u2028,段分隔符\u2029以外的所有字符
表示任意一个字符:
var str = “…brother…”;
var reg = /br.t/;
console.log(reg.test(str));

位置字符:
^ 表示字符串开始的位置
$ 表示字符串的结束位置
var reg = /^hello/;// ^代表必须以hello开头
// var str2 = “hello world!”;//true
var str2 = “world!”;//false
console.log(reg.test(str2));

竖线符号 | :
或关系,a|b:表示匹配a或b;
var reg = /^hey|ok$/;//以hey开头,或者以ok结尾

以上:如果使用RegExp方法生成正则对象,转义需要使用两个斜杠,因为字符串内部会先转义一次

<2>.重复类:
模式的精确匹配次数,用{}表示
{n} 表示恰好重复n次;
{n,} 表示至少重复n次;
{n,m} 表示重复不少于n次,不多于m次

<3>.量词符:
?:表示某个模式出现0次或1次,等同于{0,1}—最多1次
*:表示某个模式出现0次或多次,等同于{0,}—无影响
+:表示某个模式出现1次或多次,等同于{1,}—至少一次

<4>.字符类:
用[]表示,有一系列字符可供选择,只要匹配其中一个就可以;
脱字符 ^ :如果方括号内第一个字符是[ ^],则表示除了字符类中的字符,其他字符都可以匹配,如:[ ^abc]表示除了a,b,c之外都可以匹配;
连字符 - :对于连续序列的字符,连字符用来提供简写形式,表示字符的连续范围,如:[abc]可写成[a-c] , [0123456789]可写成[0-9] , [A-Z]表示26个大写字母,中文[\u4e00-\u9fa5] 这个区间代表了所有的中文汉字

3.字面量
var reg = /hello/;
var str1 = “hello world!”;
// 正则表达式test()方法:返回一个布尔值,方法用于匹配字符串,
//匹配成功返回true,失败返回false;
console.log(reg.test(str1));//true

4.g:使中间的空格变为一个空格,加上g代表一直匹配,不加g就会只匹配到第一个就结束了;
正则表达式区分大小写,加上i表示忽略大小写

5.匹配方法:
replace(): 用于替换,接受两个参数,第一个是匹配项,第二个可以是字符串或是一个函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值