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. hg19基因组 | 功能区域 | 位置提取

    如何获取hg19的CDS.UTR.intergenic.intron等的位置信息? 参考手册: Hg19 regions for Intergenic, Promoters, Enhancer, Ex ...

  2. centos上传命令

    首先安装lrzsz # yum -y install lrzsz 1.上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可. # rz 运行rz命令后弹出选择文件窗口,找到要上传的文件 ...

  3. ERROR: type "sum" does not exist

    开发问pg中执行一个简单的语句,多次报错: > ERROR: type "sum" does not exist LINE 1: SELECT SUM ^ 看看具体的语句,其 ...

  4. Java学习-053-JSON工具类演示

    日常开发工作,经常遇到使用JSON数据,好久没有写了,今晚抽了三个小时时间写了个JSON工具类,主要包含如下几个方法: 获取JSON字符串所有键路径列表: 获取JSON字符串所有键值列表: JSON数 ...

  5. java中wait()和sleep()的区别;notify()和notifyall()区别

    先说两个概念:锁池和等待池 锁池:假设线程A已经拥有了某个对象(注意:不是类)的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入 ...

  6. Lamda OrderBy 排序问题

    var itemModel = itemList.OrderBy(s=> decimal.Parse(s.Price)).ToList(); 前端传递的list数据金额或者其他非数字类型的字段最 ...

  7. 【SpringBoot】SpringBoot日志框架(四)

    日志框架介绍 在开发过程中,我们经常使用到日志来进行排查问题,我们使用的日志框架都是由2部分组成(日志API + 日志实现) 日志API(及日志抽象层)有:SLF4j(Simple Logging F ...

  8. 21天学通 C++(第8版) 内涵目录

    21天学通 C++(第8版) 第1章 绪论 1 1.1 C++简史 1 1.1.1 与C语言的关系 1 1.1.2 C++的优点 1 1.1.3 C++标准的发展历程 2 1.1.4 哪些人使用C++ ...

  9. Python - Django - form 组件动态从数据库取 choices 数据

    app01/models.py: from django.db import models class UserInfo(models.Model): username = models.CharFi ...

  10. echarts柱状图坐标文字显示不完整解决方式

    echarts柱状图坐标文字显示不完整解决方式 本文转载自:https://jingyan.baidu.com/article/ab69b2707a9aeb2ca7189f0c.html echart ...