正则表达式

1.正则表达式

正则表达式是描述字符模式的对象。正则表达式用于对字符串模式匹配及检索替换,是对字符串
执行模式匹配的强大工具。
语法:
varpatt=newRegExp(pattern,modifiers);
//或者更简单的方式:
varpatt=/pattern/modifiers; 
修饰符:
方括号:
元字符:
量词:
RegExp对象方法:
支持正则的String的方法:

2 常用正则表达式

2.1 验证

// 创建一个最简单的正则表达式对象
var reg=/o/;
// 创建一个字符串对象作为目标字符串
var str='Hello World!';
// 调用正则表达式对象的test()方法验证目标字符串
//是否满足我们指定的这个模式,返回结果true 
console.log("/o/.test('Hello World!')="+reg.test(str));

2.2 匹配

// 创建一个最简单的正则表达式对象
varreg=/o/;
// 创建一个字符串对象作为目标字符串
varstr='Hello World!';
// 在目标字符串中查找匹配的字符,返回匹配结果组成的数组
varresultArr=str.match(reg);
// 数组长度为1
console.log("resultArr.length="+resultArr.length);
// 数组内容是o
console.log("resultArr[0]="+resultArr[0]);

2.3 替换

// 创建一个最简单的正则表达式对象
varreg=/o/;
// 创建一个字符串对象作为目标字符串
varstr='Hello World!';
varnewStr=str.replace(reg,'@');
// 只有第一个o被替换了,说明我们这个正则表达式只能匹配第一个满足的字符串

console.log("str.replace(reg)="+newStr);//Hell@ World!
// 原字符串并没有变化,只是返回了一个新字符串
console.log("str="+str);//str=Hello World!

2.4 全文查找

// 目标字符串
vartargetStr='Hello World!';
// 没有使用全局匹配的正则表达式
varreg=/[A-Z]/;
// 获取全部匹配
varresultArr=targetStr.match(reg);
// 数组长度为1
console.log("resultArr.length="+resultArr.length);
// 遍历数组,发现只能得到'H'
for(vari=0; i<resultArr.length; i++){
  console.log("resultArr["+i+"]="+resultArr[i]);
}

对比:

// 目标字符串
vartargetStr='Hello World!';
// 使用了全局匹配的正则表达式
varreg=/[A-Z]/g;
// 获取全部匹配
varresultArr=targetStr.match(reg);
// 数组长度为2
console.log("resultArr.length="+resultArr.length);
// 遍历数组,发现可以获取到“H”和“W”
for(vari=0; i<resultArr.length; i++){
  console.log("resultArr["+i+"]="+resultArr[i]);
}

2.5 忽略大小写

varreg=/o/gi;

2.6 元字符使用

varstr01='I love Java';
varstr02='Java love me';
// 匹配以Java开头
varreg=/^Java/g;
console.log('reg.test(str01)='+reg.test(str01)); // false 
console.log("<br />");
console.log('reg.test(str02)='+reg.test(str02)); // true
varstr01='I love Java';
varstr02='Java love me';
// 匹配以Java结尾
varreg=/Java$/g;
console.log('reg.test(str01)='+reg.test(str01)); // true
console.log("<br />");
console.log('reg.test(str02)='+reg.test(str02)); // false

2.7 字符集合的使用

//n位数字的正则
vartargetStr="123456789";
varreg=/^[0-9]{0,}$/;
//或者: var reg=/^\d*$/;
varb=reg.test(targetStr);//true



//数字+字母+下划线,6-16位
vartargetStr="HelloWorld";
varreg=/^[a-z0-9A-Z_]{6,16}$/;
varb=reg.test(targetStr);//true

2.8 常用正则表达式

在后期的工作开发中我们用正则表达式直接在网上搜一下复制就行,所以我们不用记忆正则表达式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值