粗见之正则表达式

概念:

正则:也叫做规则,让计算机读懂人类的规则;

正则都是操作字符串的;

写法:

简写:var  re = //

双斜杠会被浏览器默认为注释,所以在里面添加需要操作的元素,例:var  re = /a/

全称写法:var  re = new RegExp(‘a’);

当正则需要传参的时候,一定要用全称的写法:

例参数为obj==>var  re = new RegExp(obj) 

方法:

1.test方法

概念:正则去匹配字符串,如果匹配成功则返回真,匹配失败则返回假

写法:正则.test(字符串)

粗见之正则表达式

粗见之正则表达式


粗见之正则表达式粗见之正则表达式


2.search方法

概念:正则去匹配字符串,如果匹配成功则返回成功的位置,匹配失败则返回-1

写法:字符串.search(正则)

粗见之正则表达式

粗见之正则表达式


粗见之正则表达式粗见之正则表达式


2.match方法

概念:正则去匹配字符串,如果匹配成功则返回成功的数组,匹配失败则返回null

写法:字符串.match(正则);

粗见之正则表达式

粗见之正则表达式粗见之正则表达式


粗见之正则表达式

2.replace方法

概念:正则去匹配字符串,匹配成功的字符替换成新的字符串;

写法:字符串.replace(正则,新的字符串)

第二个参数可以是字符串,也可以是一个回调函数:

字符串.replace(正则,fn( str ){}

函数的第一个参数str,就是匹配成功的字符,是主项,后面的若有参数则依次为第一子项,第二子项...

粗见之正则表达式

粗见之正则表达式


粗见之正则表达式粗见之正则表达式

匹配子项:小括号(),(还有另外一个意思:分组操作)

概念:正则整体为主项,左边第一个小括号里面的正则为第一个子项

粗见之正则表达式粗见之正则表达式

在不加全局匹配g的情况下,match除了输出主项,还会把所有的子项输出来

正则中的默认:

1.匹配是区分大小写的; 如果不区分大小写就在正则后面加标识i(不区分大小写)

2.匹配成功就会结束,不会继续匹配; 如果想全部查找,就加标识g(全局匹配)

标识的添加位置:

粗见之正则表达式

逻辑符号:

| :正则中的或

字符类:

概念:一组相似的元素  []:中括号的整体代表一个字符,里面的元素是或的关系;

例:var  re = /a[bcd]e/  ==>  re = /abe/  ||  re = /ace/  ||  re = /ade/

排除:^   ^如果写在[]里面的话,代表排除的意思

范围:[a-z]  [0-9]  [a-z0-9]:都只代表一位

开始:^ 在正则的最开始位置,就代表起始的意思

结束:$ 在正则的最后的位置,就代表结束的意思

正则中的量词:

概念:出现的次数;

语法:{n,m}:至少出现n次,最多出现m

{n,}:至少n

{n} :刚好n

*  =  {0,}  :任意次

?  =  {0,1} :零次或者一次

+  =  {1,}  :至少出现一次

例:

没有+’,全局匹配的时候把每一个数字单独的列出来

粗见之正则表达式 ==>    粗见之正则表达式

+’,全局匹配的时候把挨着的单个数字作为一个数字输出来

粗见之正则表达式  粗见之正则表达式 ==>  粗见之正则表达式粗见之正则表达式


转义字符:

\n:换行;   \r:制表;   \t:回车;

\s:空格

\S:非空格

\d:数字

\D:非数字

\w:字符   (字母,数字,下划线)

\W:非字符

. :任意字符

\. :真正的点

\b:独立的部分(起始,结束,空格)

\B:非独立的部分

 

\number:重复的子项,number为数字,例\1表示重复的第一个子项;\2表示重复的第二个子项;依次类推

1

var str = abca’;

var re = /(a)(b)(c)\1/ ;  这里的\1就是第一个子项a,也就是说re = /(a)(b)(c)(a)/

re.test(str) ==>true

2

var re = /\w\w/  :这里的两个转义字符可以不一样 ==>           cc 、  c9 、 99

var re = /\w\1/  :这里的\1必须和第一个\w的值一样,== >    cc、  99 、 bb

即:/\w\w/  不一定等于  /\w\1/

 

 

正则末尾跟随字母含义:

g:全局匹配


 i:不区分大小写