正则笔记概括(正则表达式定义方式)

正则表达式定义方式
以字面量的形式来定义正则表达式

例如:匹配第一个bat或者cat,不区分大小写

var pattern = /[bc]at/i;

使用RegExp构造函数

它接收两个参数:一个是要匹配的字符串模式,另一个是可选的标志字符串。可以使用字面量定义的任何表达式,都可以使用构造函数来定义,还是以上面的例子为例:

var pattern = new RegExp("[bc]at",“i”);

注意:RegExp构造函数模式参数时字符串,所以再某些情况下要对字符进项双重转义。所有元字符都必须双重转义,如字面量模式为/\[bc\]at/,那么等价的字符串为"/\\[bc\\]at/"

查看所有元字符参考:《JavaScript RegExp 对象》

例子:
复制代码

var re = null,
i;
for(i=0; i < 10; i++){
re = /cat/g;
console.log(re.test(“catastrophe”));
}
for(i=0; i < 10; i++){
re = new RegExp(“cat”,“g”);
console.log(re.test(“catastrophe”));
}

复制代码
字符组合
[-] 从某个字符串范围中任意匹配一个字符

  var regExp = /[a-z]/;//只要包含26个英文字母中的任意一个 都返回true

	var regExp1 = /^[a-z]$/;//必须是26个英文字母中的任意一个 都返回true

	var regExp2 = /[0-9]/;//只要包含0到9中的任意一个 都返回true

	var regExp3 = /^[0-9]$/;//必须是0到9中的任意一个 都返回true

[^] 不包含指定范围内的字符 才返回true

  //[-]  范围

	var regExp = /^[a-zA-Z0-9]$/;//字符串只有a-z/A-Z/0-9间的任意一个 才返回true

	//[^] ^在方括号内表示取反 不包含 不是

	var regExp1 = /^[^a-zA-Z0-9]$/;//字符串不能包含a-z/A-Z/0-9间的任意一个 才返回true

打印结果都为10个true

扩展:正则表达式中的RegExp.$1

RegExp 是javascript中的一个内置对象。为正则表达式。
RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个子匹配(以括号为标志)字符串,以此类推,RegExp.2, RegExp.3, …RegExp.$99总共可以有99个匹配。

例如:
复制代码

var r= /^(\d{4})-(\d{1,2})-(\d{1,2})$/; //正则表达式 匹配出生日期(简单匹配)
r.exec(‘1985-10-15’);
s1=RegExp.$1;
s2=RegExp.$2;
s3=RegExp.$3;
console.log(s1+" “+s2+” "+s3)//结果为1985 10 15

复制代码
正则表达式方法
RegExp对象的exec()方法

该方法是专门为捕获组而设计的,其接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null。返回的数组虽然是Array的实例,但是包含两个额外的属性:index

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值