文章目录
一.概述
①正则表达式是用于匹配字符串的一种模式、方法。
②正则表达式:regular expression,简称RegExp。
③正则表达式定义最常用的方法是字面量,字面量就是数据类型的值。
④正则表达式书写的时候,用的是//,两个反斜杠被称之为“定界符”。
<script>
var reg=/abc/; //声明一个变量:存储正则表达式
console.log(reg);
console.log(typeof reg);
</script>
总结
①正则表达式是属于引用类型的。
②两个反斜杠之间是书写规则的地方。
③如果正则表达式想要匹配字符串abc的时候,就可以这么写:/abc/
④在控制台中,正则表达式的颜色是红色的。
二.使用技巧
1.字符串方法
split
split:根据匹配字符串切割父字符串。
作用:可以将空格匹配出来进行切割,因为空格也是字符串。
<script>
var str="a b cd ";
var reg=str.split(/\s+/);
console.log(reg);
</script>
总结
\s:代表一个空格
+:在正则表达式中,它是一个量词,代表连续出现次数大于等于1
用字符a切割字符串
<script>
var str="a b cd ";
var reg=str.split(/a+/);
console.log(reg);
</script>
match
match:使用正则表达式与字符串比较,返回一个包含匹配结果的数组。
作用:结合正则表达式,可以将多个符合条件的字符匹配出来。
<script>
var str="鲁班在哪里?谁都不知道鲁班在哪里?能找到鲁班的人是认识鲁班的人。";
var reg=str.match(/鲁班+/g);
console.log(reg);
</script>
总结
① g是修饰符,英文单词为global,代表全局,也就是全部。
②g的作用:可以将所有符合条件的字符匹配出来。
匹配出多个f与f之间有空格的字符串。
<script>
var str=" f asffds f fdf f";
var arr=str.match(/f\s+f/g);
console.log(arr);
</script>
search
search:使用正则表达式或指定字符串进行搜索,返回第一个出现的匹配项的下标值。
<script>
var str="figh f";
var reg=str.search(/\sf/g);
console.log(reg);
</script>
总结
①修饰符g的加与不加,最终的效果是一样的,因为下标值只能匹配到一个。
②/\sf/:它是 " 1个空格 " 加 " f " 的字符串,因为空格的下标是4,所以结果才能匹配到4。
③下标值从0开始的。
replace
replace:使用正则表达式和字符串比较,然后用新的子串来替换被匹配的子串。
全局替换“鲁班”
<script>
var str="鲁班在哪里?谁都不知道鲁班在哪里?能找到鲁班的人是认识鲁班的人。";
console.log(str);
var reg=str.replace(/鲁班/g,"赵云");
console.log(reg);
</script>
全局替换空格
<script>
var str="p l a y in g"