正则表达式

一、原子

1、所有看的见的看不见的字符都是原子  abcd121212\n \r*&&45

2、表示所有数字的字符 \d  【0-9任意一个字符】

3、表示所有非数字的字符 \D  【除0-9任意一个字符】

4、表示所有能够当作变量使用的原子 \w 【0-9a-zA-Z任意一个字符和下划线】

5、表示所有能不够当作变量使用的原子 \W 【除0-9a-zA-Z任意一个字符和下划线】

6、表示所有不可见原子  \s  [空格、\n、]

7、表示所有可见原子  \s  [任意一个可见字符]

8、词边界 \b [能够当单词分割的符号 ] 

9、非词边界 \B   [不能够当单词分割的符号 ] 

 

 

二、限定符

1、[] 原子列表:自定义原子范围  【表示列表中任意一个字符】[0123456789]

2、[^]排查列表:自定义原子范围  【表示列表外任意一个字符】

3、n+     1个以上的指定原子

4、n*    0个以上的指定原子

5、n?     0个或者1

6、{m,n} 指定原子的最少m个最多n个

7、{m,} 指定原子的最少m个

8、{m}指定原子的m个

9、^ 限制字符必须在字符的开头位置

10、$ 限制字符必须在字符的结尾位置

11、.  所有原子 \n除外

12、| 唯一一个逻辑运算符

13、()修饰原子符

  a、将多个原子视为一个原子处理,方便使用元字符

  b、将()中的内容暂存起来。

  c、改变优先级别 主要配合|使用

14、?=n 匹配任意紧更n的字符   ?=b        例如: var reg= /a(?=b)/g ;     var str='abcdabcd';      reg.match(str)   匹配出  ['a','a']

  !?=n  匹配任意非紧更n的字符         

  ?:  不捕获分组

15、反向引用  匹配

   xxxx    reg=/\w\1\1\1/g;

   xxyy  reg=/\w\1\w\2/g;

          

  

三、修正符  可以多个一起使用

  i  忽略大小写

  g 全局搜索

  m  将字符中的\n断开,当作多个字符串处理

四、非贪婪模式  .*?

五、取消暂存操作 ?: 

 

posted @ 2019-11-22 09:54  Dena.chen  阅读(137)  评论(0编辑  收藏  举报