词边界---只对英文有效
1、\b 词边界(单词的边界)
console.log("hello helloworld".match(/\bhello/g));
console.log("hello helloworld".match(/hello\b/g));
2、\B 非词边界
console.log("hello helloworld".match(/hello\B/g));
正向预查(?=)
字符串后面的值是???
console.log("hellobaby helloworld".match(/hello(?=world)/g));
console.log("hellobaby helloworld".search(/hello(?=world)/g));
反向预查(!=)
字符串后面的值不是???
console.log("hellobaby helloworld".match(/Java(?!baby)/g));
console.log("hellobaby helloworld".search(/Java(?!baby)/g));
字符串边界 用于精确匹配
^ 以指定字符开头
console.log("abcdef".match(/^a/));
$ 以指定字符结尾
console.log("abcdef".match(/f$/));
正则表达式修饰符
1、g执行全匹配(查找所有匹配)
2、i执行对大小写不敏感
3、m执行多行匹配(一般存在^或$时才会起作用)
用于模式匹配的String方法
1、search() 检索与正则表达式相匹配的第一个字符索引值
2、match() 找到一个或多个正则表达式匹配的字符串
3、replace() 替换与正则匹配的子串
4、split() 把字符串以正则表达式分割成数组
参数2;指定数组的长度 --超出范围将不起作用
正则对象的方法
1、test();检索字符串中指定的值。返回 true 或 false。
console.log(/^\w{5}$/.test("abc"));
console.log(/^\w{5}$/.test("abc3s"));
2、exec();返回匹配的值,并确定其位置。不能使用g进行全局匹配。可以使用i console.log(/\w(\w)/.exec('abced45'));
console.log(/\w/g.exec('abced45'));
实例
实例1. --匹配html标签 实例2. --匹配URL
var str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit加入百度,加入网页搜索你可以影响世界,将简历发送至:http://www.baidu.com.cn/admin/info/config/index.php Laboriosam, libero, repellendus iste eum necessitatibus nemo cumque ipsum quos accusamus maiores et voluptas eaque provident excepturi expedita consequuntur';
var res = /(http|https):\/\/([\w\.]+)\/((\w+\/)*)(\w+\.(\w+))/;
var val = str.match(res);
var s = "URL : "+val[0]+'<br>';
s += "协议名 : "+val[1]+'<br>'
s += "主机名(域名) : "+val[2]+"<br>";
s += "路径名 : "+val[3]+"<br>";
s += "文件名 : "+val[5]+"<br>";
s += "后缀名 : "+val[6]+"<br>";
实例2: 将文章中中文引号替换成英文引号
vat text = "小明:“门前有条小河沟很难过”.老师:“小明,出去。”";
var res = text.replace(/”|“/g,’"’);
实例3: 将文章中英文引号替换成中文引号
var res = text.replace(/"([^"]*)"/g,"“$1”");
注:$1代表第一个存入内存中的内容
实例4: 将lady gaga 替换成gaga lady
实例5: 尝试将数字格式化为千分位数字
实例6: 将匈牙利命名法 改成驼峰命名法
例如: border-bottom-width -> borderBottomWidth
1. 使用字符串处理方法
2. 使用正则匹配方法
function show(str){
var reg = /-([a-z])/;
str.replace(reg,function($0,$1){
return $1.toUpperCase();
});
}
实例8: 尝试将所有的单词首字母变成大写