RegExp正则表达式
1: 什么是RegExp?
- RegExp 是正则表达式的缩写,英文名为Regular Expression,在代码中常简写为regex、RegExp或RE,它是对字符串执行模式匹配的强大工具。
- 正则表达式:又称规则表达式,
- RegExp 对象用于规定在文本中检索的内容
- 正则表达式的模式可以是任何简单或复杂的正则表达式,更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。
创建RegExp对象的语法:
var 变量=new RegExp("正则表达式","匹配模式");
使用typeof检查正则对象,则会返回object
2: RegExp对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
1:test()
- 使用这个方法可以用来检查一个字符串中是否符合正则表达式的规则
如果符合则返回true,否则返回false
例子:
2:exec()
- 检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
例子:
3:compile()
- 可用于改变RegExp,也可用于改变检索模式,也也可以添加或删除第二个参数。
例子:
参数解析:
3: RegExp正则表达式
1:用构造函数创建正则表达式
语法: var 变量=new RegExp("正则表达式","匹配模式");
2:使用字面量来创建正则表达式
语法:var 变量=/正则表达式/匹配模式
- 使用字面量的方法创建更加简单
- 使用构造函数创建更加灵活
修饰符:
方括号
方括号用于查找某个范围内的字符:
4:正则表达式语法
元字符:元字符(Metacharacter)是拥有特殊含义的字符:
检查一个字符串中是否含有"."
"."表示匹配任意字符
在正则表达式中\反斜杠 作为转义字符
若想要匹配字符"."正则表达式为 \.
\\ 表示匹配一个反斜杠\
参数:
量词:通过量词可以设置一个内容出现的次数,量词只对它前面一个内容起作用
参数:
检查一个字符串中是否以什么开头
^ 表示开头
$ 表示结尾
例子:用来检查一个字符串是否是一个合法手机号
5:字符串与正则表达式相关的方法
- split()
- 把字符串分割为字符串数组。
- 该方法可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分
- 该方法即使不指定全局匹配,也会全部拆分字符串
例子:
2:search()
- 可以搜索字符串中是否含有指定内容
- 如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到到返回-1
- 它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
- serach() 只会查找第一个,即使设置全局匹配也没用
例子:
3:macth()
- 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
- 默认情况下我们的macth只会找到第一个符合要求的内容,找到以后就停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容,可以为一个正则表达式设置多个匹配模式,且顺序无所谓
- match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果
例子:
4:replace()
- 可以将字符串中指定内容替换为新的内容
- 参数说明:
1.被替换的内容
2.新的内容
例子:
参数解析: