1、字符类
[直接量]
. (点号,小数点) 匹配任意单个字符,但是行结束符除外
\d   匹配一个0-9之间的阿拉伯数字。等价于[0-9]
\D     匹配任意一个不是0-9之间阿拉伯数字的字符。等价于[^0-9]。
\w     匹配任意一个字母、数字或下划线的字符。等价于 [A-Za-z0-9_]。
\W    匹配任意一个不是字母、数字或下划线的字符。等价于 [^A-Za-z0-9_]。
\s   匹配一个空白符,包括空格、制表符、换页符、换行符和其他 Unicode 空格。
\S     匹配一个非空白符。
\t    匹配一个水平制表符(tab)
\r    匹配一个回车符(carriage return)
\n      匹配一个换行符(linefeed)
\v      匹配一个垂直制表符(vertical tab)
\f    匹配一个换页符(form-feed)

2、数量词
x*          匹配前面的模式 x 0 或多次。
x+         匹配前面的模式 x 1 或多次。等价于 {1,}。
x*?        像上面的 * 一样匹配前面的模式 x,然而匹配是最小可能匹配。【非贪婪模式:优先匹配最小的次数】
x+?       像上面的 + 一样匹配前面的模式 x,然而匹配是最小可能匹配。【非贪婪模式:优先匹配最小的次数】
x?          匹配前面的模式 x 0 或 1 次。
x|y         匹配 x 或 y
x{n}       n 是一个正整数。前面的模式 x 连续出现 n 次时匹配
x{n,}      n 是一个正整数。前面的模式 x 连续出现至少 n 次时匹配。
x{n,m}   n 和 m 为正整数。前面的模式 x 连续出现至少 n 次,至多 m 次时匹配。

3、字符集合
[xyz]     一个字符集合(字符组)。匹配集合中的任意一个字符。【你可以使用连字符'-'指定一个范围。[0-9] [a-z] [A-Z]】
[^xyz]   一个反义或补充字符集(反义字符组)。匹配任意不在括号内的字符。【你也可以通过使用连字符 '-' 指定一个范围内的字符】

4、边界
^    匹配输入开始。如果多行(multiline)标志被设为 true,该字符也会匹配一个断行(line break)符后的开始处。
$    匹配输入结尾。如果多行(multiline)标志被设为 true,该字符也会匹配一个断行(line break)符的前的结尾处。
\b   匹配一个零宽单词边界(zero-width word boundary),如一个字母与一个空格之间。
\B   匹配一个零宽非单词边界(zero-width non-word boundary),如两个字母之间或两个空格之间。

5、分组
(x)   匹配 x 并且捕获匹配项。 这被称为捕获括号(capturing parentheses)。
\n    n 是一个正整数。一个反向引用(back reference),指向正则表达式中第 n 个括号(从左开始数)中匹配的子字符串。
eg:

    /\w+:\/\/\w+(.)\w+\1\w+/

拓展:
a.在分组情况中,如果(x)后面有数量词修饰时;它也只算做一个()【括号】来算,而后面使用的\n来指向正则表达式中该括号时,
则是指向它重复次数的最后一次()【括号】里面所包含的内容。【可以使用str.match(正则表达式)不带g修饰符来输出进行检测查看】
b.\n后面加数量词修饰则是重复\n选择的括号里面的字串。
eg:

    str = 'ababaabaa'
console.log(str.match(/([a-z]).\1/g)); //['aba','aba']
console.log(str.match(/([a-z]){2}.\1/g)); //['abab','aaba']
console.log(str.match(/([a-z]){2}.\1{2}/g)); //[babaa]
console.log(str.match(/([a-z]).\1{2}/g)); //['abaa']

js正则表达式【续】(相关字符的解释含义)的更多相关文章

  1. JS正则表达式的创建、匹配字符串、转义、字符类、重复以及常用字符

    正则表达式都是操作字符串的 作用:对数据进行查找.替换.有效性验证 创建正则表达式的两种方式: // 字面量方式 /js/ // 构造函数方式 regular expression new RegEx ...

  2. JS正则表达式获取字符串中特定字符

    JS正则表达式获取字符串中得特定字符,通过replace的回调函数获取. 实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test  实 ...

  3. js正则表达式replace里有变量的解决方法用到RegExp类

    一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...

  4. JS 正则表达式中的特殊字符

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...

  5. Shell编程基础教程5--文本过滤、正则表达式、相关命令

    5.文本过滤.正则表达式.相关命令    5.1.正则表达式(什么是正则表达式?正则表达式怎么进行匹配?常用命令)        简介:            一种用来描述文本模式的特殊语法      ...

  6. JS正则表达式大全(整理详细且实用)

    JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...

  7. JS正则表达式大全【转】

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...

  8. 【转】JS正则表达式大全(整理详细且实用)

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...

  9. JS正则表达式完整教程

    JS正则表达式完整教程(略长) 引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣. 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准. 关于正则表达式的教程, ...

随机推荐

  1. 列出python库的内置方法

    import cv dir(cv) ['16SC', '16UC', '32FC', '32SC', '64FC', '8SC', '8UC', 'Abs', 'AbsDiff', 'AbsDiffS ...

  2. opencv 图像resize

    这是文档中的函数原型 cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) 参数说明src:要resize的原图,应该是一个矩阵 dsi ...

  3. CMU Advanced DB System - MVCC

    https://zhuanlan.zhihu.com/p/40208895 Mysql的MVCC实现 https://severalnines.com/database-blog/comparing- ...

  4. 将innodb置为只读模式

    1.关闭change bufferset global.innodb_change_buffering=0; 2.将mysql执行slow shutdown(即干净关闭)set global.inno ...

  5. mysql 添加时间自动添加更新时间自动更新

    在数据库使用中经常使用到时间字段.常用的有创建时间和更新时间.然而在使用中想要创建时间在创建的时候自动设置为当前时间,更新时间在更新时自动更新为当前时间. 创建表 stu CREATE TABLE ` ...

  6. Hadoop的三种调度器FIFO、Capacity Scheduler、Fair Scheduler(转载)

    目前Hadoop有三种比较流行的资源调度器:FIFO .Capacity Scheduler.Fair Scheduler.目前Hadoop2.7默认使用的是Capacity Scheduler容量调 ...

  7. redhat 6安装python 3.7.4报错ModuleNotFoundError: No module named '_ctypes' make: *** [install] Error 1

    问题描述: 今天在测试环境中,为了执行脚本,安装下python3命令,在执行make install的时候报错: ModuleNotFoundError: No module named '_ctyp ...

  8. Docker容器中启动OPMS项目

    1.上传opms项目包到Linux下面 2.解压赋权 3.执行文件即可 4.浏览器输入服务器ip地址加上8088端口号

  9. [ ceph ] CEPH 部署完整版(CentOS 7 + luminous)

    1. 前言 拜读了 胖哥的(el7+jewel)完整部署 受益匪浅,目前 CEPH 已经更新到 M 版本,配置方面或多或少都有了变动,本博文就做一个 ceph luminous 版本完整的配置安装. ...

  10. CentOS7.5 使用二进制程序部署Kubernetes1.12.2(三)

    一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能 ...