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

JavaScript正则表达式

Samaritan Web前端工程师
难度中级
时长 1小时30分
学习人数
综合评分9.70
346人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.6 逻辑清晰
  • ## lastIndex bug??? http://www.imooc.com/video/12537 g test() lastIndex bug??? 执行多次,结果不一致! let regex = /\w/; let regexg = /\w/g; regexg.test("abc"); let regexg = /\w/g; regexg.test("abc"); true regexg.test("abc"); true regexg.test("abc"); true regexg.test("abc"); false regexg.test("abc"); true regexg.test("abc"); true regexg.test("abc"); true regexg.test("abc"); false
    查看全部
    0 采集 收起 来源:test 和 exec方法

    2018-03-22

  • lastindex 当前匹配结果的最后一个字符的下一个字符,从0开始 全局g下使用index匹配文本的第一个字符的位置,从0开始
    查看全部
    0 采集 收起 来源:test 和 exec方法

    2017-03-19

  • RegExp.prototype.source 正则对象的源模式文本(RegExp 模式自身)。 let regex = /(\d{4}\1)-(\d{2})-(\d{2})/g; regex.source "(\d{4}\1)-(\d{2})-(\d{2})" regex.ignoreCase false regex.multiline false regex.sticky false regex.lastIndex 0 regex.global true regex.flags "g"
    查看全部
    2 采集 收起 来源: JS对象属性

    2018-03-22

  • (RegExp 属性只读,不可修改赋值)
    查看全部
    0 采集 收起 来源: JS对象属性

    2017-03-19

  • ## RegExp 实例 属性 注意,RegExp 对象的几个属性既有完整的长属性名,也有对应的类 Perl 的短属性名。 两个属性都有着同样的值。 JavaScript 的正则语法就是基于 Perl 的。 RegExp.prototype.constructor 创建该正则对象的构造函数。 RegExp.prototype.global 是否开启全局匹配,也就是匹配目标字符串中所有可能的匹配项,而不是只进行第一次匹配。 RegExp.prototype.ignoreCase 在匹配字符串时是否要忽略字符的大小写。 RegExp.prototype.lastIndex 下次匹配开始的字符串索引位置。 RegExp.prototype.multiline 是否开启多行模式匹配(影响 ^ 和 $ 的行为)。 RegExp.prototype.source 正则对象的源模式文本。 RegExp.prototype.sticky 是否开启粘滞匹配。
    查看全部
    0 采集 收起 来源: JS对象属性

    2017-03-19

  • ## String.prototype.replace() https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。 模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。 语法 str.replace(regexp|substr, newSubStr|function) 参数 regexp (pattern) 一个 RegExp 对象或者其字面量。该正则所匹配的内容会被第二个参数的返回值替换掉。 substr (pattern) 一个要被 newSubStr 替换的字符串。其被视为一整个字符串,而不是一个正则表达式。仅仅是第一个匹配会被替换。 newSubStr (replacement) 用于替换掉第一个参数在原字符串中的匹配部分的 字符串。该字符串中可以内插一些特殊的变量名。参考下面的使用字符串作为参数。 function (replacement) 一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。参考下面的指定一个函数作为参数。 返回值 一个部分或全部匹配由替代模式所取代的新的字符串。
    查看全部
    0 采集 收起 来源: JS对象属性

    2017-03-19

  • 注意,RegExp 对象的几个属性既有完整的长属性名,也有对应的类 Perl 的短属性名。两个属性都有着同样的值。JavaScript 的正则语法就是基于 Perl 的。 RegExp.prototype.constructor 创建该正则对象的构造函数。 RegExp.prototype.global 是否开启全局匹配,也就是匹配目标字符串中所有可能的匹配项,而不是只进行第一次匹配。 RegExp.prototype.ignoreCase 在匹配字符串时是否要忽略字符的大小写。 RegExp.prototype.lastIndex 下次匹配开始的字符串索引位置。 RegExp.prototype.multiline 是否开启多行模式匹配(影响 ^ 和 $ 的行为)。 RegExp.prototype.source 正则对象的源模式文本。 RegExp.prototype.sticky 是否开启粘滞匹配。
    查看全部
    0 采集 收起 来源: JS对象属性

    2017-03-19

  • \w(?=\d) positive lookahead 正向前瞻/积极的向前查找 https://regexper.com/#%5Cw(%3F%3D%5Cd) \w(?!\d) negative lookahead 负向前瞻/否定,拒绝向前查找 https://regexper.com/#%5Cw(%3F!%5Cd)
    查看全部
    0 采集 收起 来源:前瞻

    2017-03-19

  • 正向前瞻(/\w(?=\d)/) 负向前瞻(/\w(?!\d)/) (?:x) 匹配 x 不会捕获匹配项。这被称为非捕获括号(non-capturing parentheses)。匹配项不能够从结果数组的元素 [1], ..., [n] 或已被定义的 RegExp 对象的属性 $1, ..., $9 再次访问到。
    查看全部
    0 采集 收起 来源:前瞻

    2017-03-19

  • 在使用于向前断言(lookahead assertions)时,见该表格中 (?=)、(?!) 和 (?:) 的说明 x? 匹配前面的模式 x 0 或 1 次。 例如,/e?le?/ 匹配 "angel" 中的 "el","angle" 中的 "le"。 如果在数量词 *、+、? 或 {}, 任意一个后面紧跟该符号(?),会使数量词变为非贪婪( non-greedy) ,即匹配次数最小化。反之,默认情况下,是贪婪的(greedy),即匹配次数最大化。 在使用于向前断言(lookahead assertions)时,见该表格中 (?=)、(?!) 和 (?:) 的说明。 x(?=y) 只有当 x 后面紧跟着 y 时,才匹配 x。 例如,/Jack(?=Sprat)/ 只有在 'Jack' 后面紧跟着 'Sprat' 时,才会匹配它。/Jack(?=Sprat|Frost)/ 只有在 'Jack' 后面紧跟着 'Sprat' 或 'Frost' 时,才会匹配它。然而,'Sprat' 或 'Frost' 都不是匹配结果的一部分。 x(?!y) 只有当 x 后面不是紧跟着 y 时,才匹配 x。例如,/\d+(?!\.)/ 只有当一个数字后面没有紧跟着一个小数点时,才会匹配该数字。 /\d+(?!\.)/.exec("3.141") 匹配 141 而不是 3.141。 (?:x) 匹配 x 不会捕获匹配项。这被称为非捕获括号(non-capturing parentheses)。匹配项不能够从结果数组的元素 [1], ..., [n] 或已被定义的 RegExp 对象的属性 $1, ..., $9 再次访问到。
    查看全部
    0 采集 收起 来源:前瞻

    2018-03-22

  • ?: (?:x) 匹配 x 不会捕获匹配项。这被称为非捕获括号(non-capturing parentheses)。匹配项不能够从结果数组的元素 [1], ..., [n] 或已被定义的 RegExp 对象的属性 $1, ..., $9 再次访问到。
    查看全部
    0 采集 收起 来源:分组

    2017-03-19

  • `2017-03-19`.replace(/(\d{4})-(\d{2})-(\d{2})/g, "$2/$3/$1"); "03/19/2017" `2017-03-19`.replace(/(\d{4})-(\d{2})-(\d{2})/g, `$2/$3/$1`); "03/19/2017" `2017-03-19`.replace(/(\d{4})-(\d{2})-(\d{2})/g, `{$2}/{$3}/{$1}`); "{03}/{19}/{2017}" `2017-03-19`.replace(/(\d{4})-(\d{2})-(\d{2})/g, `\2/\3/\1`); VM5620:1 Uncaught SyntaxError: Octal literals are not allowed in template strings. `2017-03-19`.replace(/(\d{4})-(\d{2})-(\d{2})/g, "\2/\3/\1"); "//" "apple, orange, cherry, peach.".replace(/apple(,)\sorange\1/, "xyz"); "xyz cherry, peach."
    查看全部
    0 采集 收起 来源:分组

    2018-03-22

  • 反向引用(back reference) \n n 是一个正整数。一个反向引用(back reference),指向正则表达式中第 n 个括号(从左开始数)中匹配的子字符串。 例如,/apple(,)\sorange\1/ 匹配 "apple, orange, cherry, peach." 中的 "apple,orange,"。一个更全面的例子在该表格下面。
    查看全部
    0 采集 收起 来源:分组

    2018-03-22

  • x|y 匹配 x 或 y 例如,/green|red/ 匹配 "green apple" 中的 ‘green',"red apple." 中的 'red'。
    查看全部
    0 采集 收起 来源:分组

    2018-03-22

  • https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/match 当一个字符串与一个正则表达式匹配时, match()方法检索匹配项。 str.match(regexp);
    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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