为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript正则表达式

Samaritan Web前端工程师
难度中级
时长 1小时30分
学习人数
综合评分9.70
346人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.6 逻辑清晰
  • 正则表达式:

                      ^表示开始;

                      $表示结束;

    ^\d{4}[/-]\d{2}[/-]\d{2}$

    表示以四位数字开头的年份 /或者- 2位数的月份 /或者- 2位数的日期 的格式。

    查看全部
  • 可以
    查看全部
  • $1:提取分组内容,即()里的内容。

    查看全部
  • 反向引用使用$捕获分组,?:忽略分组使用{}使用量词,()建立分组,【】建立字符类

    查看全部
    0 采集 收起 来源:分组

    2018-08-19

  • 啦啦啦啦啦

    查看全部
    0 采集 收起 来源:元字符

    2018-08-11

  • 字面量:

    var reg = /\bis\b/;

    'He is a boy.'.replace(reg, 'IS')//He IS a boy

    构造函数:

    var reg = new RegExp('\\bis\\b', 'gi')

    'He is a boy.Is he?'.replace(reg, 'IS')//He IS a boy.IS he?


    查看全部
    1 采集 收起 来源:RegExp对象

    2018-08-11

  • ^表示开头,$表示结尾

    查看全部
  • [/-]表示或

    查看全部
  • 字符串对象方法

    stringl.protatype.search(reg)

    search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串

    方法返回第一个匹配结果index,查找不到返回-1

    search()方法不执行全局匹配,它将忽略标志g,并且总是从字符串开始进行检索


    string.prototype.match(reg)

    match()方法将检索字符串,以找到一个或多个与regexp匹配的文本

    regexp是否具有标志g对结果影响很大

    非全局调用:如果regexp没有标志g,那么match()方法就只能在字符串中执行一次匹配,没找到任何匹配文本将返回null,否则将返回一个数组,其中存放了与它找到的匹配文本有关的信息:返回数组的第一个元素存放的是匹配文本,而其余元素存放的是与正则表达式的子表达式匹配的文本。

    除了常规数组元素之外,返回的数组还含有2个对象属性:index声明匹配文本的起始字符在字符串的位置;input声明对stringobject的引用


    全局调用:如果regexp具有标志g则match()方法将执行全局检索,找到字符串中的所有匹配子字符串:没有找到任何匹配的子穿,则返回null,否则返回一个数组,数组元素中存放的是字符串中所有匹配子串,而且也没有index属性或input属性

    查看全部
  • RegExp.prototype.test(str):用于测试字符串参数中是否存在匹配正则表达式模式的字符串,存在返回true,否则返回false

    var reg2=/\w/g;

    进行reg2.test('ab')时,第三次会变成false

    原因:while(reg2.test('ab')){

                    console.log(reg2.lastIndex);

    }

    即进行test时,正则表达式的lastIndex会发生变化

    输出:1  2    表示第一个匹配上了、第二个匹配上了


    RegExp.prototype.exec(str):使用正则表达式模式对字符串执行搜索,并将更新全局RegExp对象的属性以反映匹配结果

    如果没有匹配则返回null,否则返回一个结果数组:index声明匹配文本的第一个字符的位置,input存放被检索的字符串string

    非全局调用:

    调用非全局的RegExp对象的exec()时,返回数组

    第一个元素是与正则表达式相匹配的文本

    第二个元素是与RegExpObject的第一个子表达式(分组)相匹配的文本

    第三个元素是与RegExp对象的第二个子表达式(分组)相匹配的文本

    以此类推

    查看全部
    4 采集 收起 来源:test 和 exec方法

    2018-07-17

  • 对象属性

    global:是否全文搜索,默认false

    ignore case:是否大小写敏感,默认是false

    multiline:多行搜索,默认值是false

    lastIndex:当前表达式匹配内容的最后一个字符的下一个位置

    source:正则表达式的文本字符串

    不能直接修改

    查看全部
    3 采集 收起 来源: JS对象属性

    2018-07-17

  • 正则表达式从文本头部向尾部开始解析,文本尾部方向为“前”,头部方向为“后”

    前瞻:正则表达式匹配到规则的时候,向前检查是否符合断言,后顾/后瞻方向相反(javascript不支持)

    符合断言:肯定/正向匹配   不符合断言:否定/负向匹配

    正向前瞻:exp(?=assert)   负向前瞻:exp(?!assert)

    exp:规则部分  assert:断言部分

    前瞻中断言只作为判断条件,不参与规则部分的操作

    查看全部
    1 采集 收起 来源:前瞻

    2018-07-17

  • 量词仅作用于其紧挨着的字符而非整个字符串

    用()可以达到分组的功能,使量词作用于分组

    或:|     byr(on|ca)sper:能选的只有on或ca

    反向引用:

    2015-12-25=>12/25/2015

    '2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1')

    忽略分组:在分组内加上?:

    查看全部
    0 采集 收起 来源:分组

    2018-07-17

  • 贪婪模式:尽可能多地匹配,直到匹配失败

    即匹配过程中有多个条件符合的话,会选择最多的那一种

    非贪婪模式:让正则表达式尽可能少的匹配,一旦成功匹配则不再继续尝试,在量词后面加上?即可

    查看全部
  • 量词

    ? 出现0或1次(最多1次)

    +  出现1或多次(至少1次)

    *  出现0或多次(任意次)

    {n}  出现n次

    {n,m}  出现n到m次

    {n,}  至少出现n次

    量词放在元字符后面,如\d+

    查看全部
    0 采集 收起 来源:量词

    2018-07-16

举报

0/150
提交
取消
课程须知
1、对JavaScript 语法了解。 2、熟练使用文本编辑器。
老师告诉你能学到什么?
1、正则表达式基本语法 2、正则表达式分类梳理 3、好用的正则表达式图形化理解工具 4、正则表达式在JavaScript中的应用 5、常见文本批处理办法

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!