正则表达式
正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript 的 RegExp 类,正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器中,正则表达式通常被用来检索、替换某些符合某个模式的文本。例如word中的查找替换功能。换句简单的话说正则表达式就是记录文本规则的代码。就是在一堆有规律的字符中找到你想要的字符。
其实正则表达式的主要用途:搜索和替换
创建正则表达式
创建正则表达式和创建字符串类似,创建正则表达式提供了两种方法,一种是采用 new运算符,另一个是采用字面量方式。
1.两种创建方式
var Box = new RegExp('Box'); //第一个参数字符串
var Box = new RegExp('Box','ig'); //第二个参数可选模式修饰符
基本术语
1、元字符:正则表达式元字符是包含特殊含义。它们有一些特殊功能,可以控制匹配模式的方式。反斜杠后的元字符将失去其特殊含义。(常用元字符)
2、限定符:顾名思义就是限定匹配次数。
3、分支条件:例如“110|120|119”正则表达式,其中“|”就是分支条件,使用其可以把不同的表达式分割,只要匹配到其中任意一个接口,匹配是从左到右匹配,只要匹配到一个就不往下匹配了。
5、反义:有时需要查找不属于某个能简单定义的字符类的字符。比如想查找除了数字以外,其他任意字符都行的情况,这是需要用到的是反义。
6、贪婪:当正则表达式包含能接受重复的限定符时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。以这个表达式为例:a.*b,他将会匹配最长的以a开始,以b结束的字符串。如果用它搜索aabab的话,他会匹配整个字符串,而不能匹配大aab,这个称为贪婪匹配。
7、懒惰:虽然正则是贪婪的,但是有时候我们更需要懒惰匹配,也就是匹配尽可能少的字符。前面给出的限定符都可以被转换称为懒惰匹配模式,只要在他的后面加上一个问号?。