--------都是元字符,下面这些也能够叫限定符(限定前面的表达式出现的次数)javascript
-----------------------分割线java
建立方式: (正则表达式的做用:匹配字符串的) 1.经过构造函数建立对象正则表达式
var reg = new RegExp(/\d{5}/); RegExp();//对象建立完毕--没有正则表达式的对象
//调用方法验证字符串是否匹配
var flag = reg.test("个人电话是10086");
console.log(flag);//true
复制代码
2.经过字面量方式建立对象编程
var reg = /\d{1,5}/;
var flag = reg.test("个人幸运:888");
console.log(flag);//true
复制代码
正则表达式中:bash
正则提取编程语言
// 1. 提取工资
var str = "张三:1000,李四:5000,王五:8000。";
var array = str.match(/\d+/g);
console.log(array);
// 2. 提取email地址
var str = "123123@xx.com,fangfang@valuedopinions.cn 286669312@qq.com 二、emailenglish@emailenglish.englishtown.com 286669312@qq.com...";
var array = str.match(/\w+@\w+\.\w+(\.\w+)?/g);
console.log(array);
// 3. 分组提取
// 3. 提取日期中的年部分 2015-5-10
var dateStr = '2016-1-5';
// 正则表达式中的()做为分组来使用,获取分组匹配到的结果用Regex.$1 $2 $3....来获取
var reg = /(\d{4})-\d{1,2}-\d{1,2}/;
if (reg.test(dateStr)) {
console.log(RegExp.$1);
}
// 4. 提取邮件中的每一部分
//-----/([0-9a-zA-Z_.-]+)[@]([0-9a-zA-Z_-]+)(([.][a-zA-Z]+){1,2})/-------
var reg = /(\w+)@(\w+)\.(\w+)(\.\w+)?/;
var str = "123123@xx.com";
if (reg.test(str)) {
console.log(RegExp.$1);
console.log(RegExp.$2);
console.log(RegExp.$3);
}
复制代码
正则替换函数
// 1. 替换全部空白
var str = " 123AD asadf asadfasf adf ";
str = str.replace(/\s/g,"xx");
console.log(str);
// 2. 替换全部,|,
var str = "abc,efg,123,abc,123,a";
str = str.replace(/,|,/g, ".");
console.log(str);
//3. 替换空格
var str = " 哦买噶的 ,太幸福了 ";
str = str.replace(/\s+/g, "");
console.log("===" + str + "===");
//全部的h都替换成S
var str="HhpphH";//SSppSS
str=str.replace(/[h]/gi,"S");
console.log(str);
复制代码
正则表达式的方法ui
// var str = "中国移动:10086,中国联通:10010,中国电信:10000";
// var reg=/\d{5}/g;
// //经过正则表达式匹配这个字符串
// var array=reg.exec(str);
// console.log(array);
// console.log(reg.exec(str));
// console.log(reg.exec(str));
// console.log(reg.exec(str));//null
var str = "中国移动:10086,中国联通:10010,中国电信:10000";
var reg=/\d{5}/g;
//经过正则表达式匹配这个字符串
var array=reg.exec(str);
while (array!=null){
//输出匹配的内容
console.log(array[0]);
array=reg.exec(str);
}
复制代码