好好学习,天天向上
本章主要内容是:介绍、语法、一些方法、组成、术语、量词、分组、或操作符、分组的反向引用、中文字符
一、正则表达式的介绍
- 正则表达式:(Regular Expression)用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用,正则表通常被用来检索、替换那些符合某个模式(规则)的文本
- 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串” ,这个“规则字符串”用来表达对字符串的一种过滤逻辑
正则表达式的作用
- 给定的字符串是否符合正则表达式的过滤逻辑(匹配)
- 可以通过正则表达式,从字符串中获取我们想要的特定部分(提取)
- 强大的字符串替换能力(替换)
在线测试正则:https://c.runoob.com/front-end/854
二、正则表达式的语法
- 在 JavaScript 中,正则表达式也是对象,是一种索引类型
- 使用一个正则表达式字面量是最简单的方式,两个 / 是正则表达式的定界符
- 你可以通过下面两种方法创建一个正则表达式:
- 使用一个正则表达式字面量,如下所示:
- var reg = /abc/; 正则表达式字面量在脚本加载后编译,若你的正则表达式是常量,使用这种方式可以获得更好的性能
- 调用 RegExp 对象的构造函数,如下所示:
- var re = new RegExp("abc");
- 使用一个正则表达式字面量,如下所示:
<script>
// 第一种方法,正则字面量
var reg = /abc/;
// 第二种,通过构造函数创建
var reg1 = new RegExp("abc");
</script>
三、正则表达式的一些方法
字符串方法
- split() 根据匹配字符串切割父字符串
- match() 使用正则表达式与字符串相比较,返回一个包含匹配结果的数组
- search() 对正则表达式或指定字符串进行搜索,返回第一个出现的匹配项的下标
- replace() 用正则表达式和字符串直接比较,然后用新的子串来替换被匹配的子串
正则表达式方法
- exec() 在目标字符串中执行一次正则匹配操作
- test() 测试当前正则是否能匹配目标字符串
1、String:split
- 根据匹配字符串切割父字符串
<script>
var str = "aa bbb cc dd eeeee";
// 使用一个空格字符进行的精确分割
var arr = str.split(" ");
console.log(arr);
// 使用正则表达式可以进行模糊匹配分割
// s 表示空白 + 表示更多
var arr1 = str.split(/s+/);
console.log(arr1);
var str2 = "bbaacaaaadddaeeeeeaaf";
var arr2 = str2.split(/a+/);
console.log(arr2);
</script>
2、String:search
- 寻找匹配字符串在父字符串中位置
<script>
// search 方法 查询子串在父串出现的位置
var str = "abcdefg";
// console.log(str.search("cd"));
console.log(str.search(/cdf/)); // 不存在返回 -1
</script>
3、String:match
- 在父字符串中寻找匹配字符串
<script>
// macth 方法 在父字符串中去匹配符合的子字符串,将结果输出到