JavaScript与正则表达式

作者: IT男的成长记录 | 来源:发表于2017-04-05 11:41 被阅读0次

ECMAScript通过RegExp类型来支持正则表达式

字面量定义正则表达式

  • var expression = / pattern / flags:模式(pattern)部分可以是任何简单或复杂的正则表达式,标志(flag)部分用来标明正则表达式的匹配模式

  • 正则表达式的匹配模式支持下列3个标志:

    • g:表示全局模式,即模式会被应用于所有字符串,而非在发现第一个匹配项时立即停止
    • i:表示不区分大小写模式
    • m:表示多行模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项
  • 正则表达式:

    • \d: 等价于[0-9],表示数字字符
    • \w: 等价于[a-zA-Z_0-9],表示字母,数字,下划线
    • \s: 等价于[\t\n\x0B\f\r],表示空白符
    • [a-zA-Z0-9]: 表示大小写字母和数字
    • \b: 表示单词便捷
    • .: 等价于[^\r\n],表示除了回车和换行符之外的所有字符
    • *: 表示出现零次或多次
    • +: 表示出现一次或多次
    • ?: 表示出现零次或一次
    • x{3}: 表示x出现3次
    • ^: 表示以XXX开头
    • $: 表示以XXX结尾

使用构造函数创建正则表达式

  • var pattern = new RegExp("[bc]at", "i");
  • RegExp构造函数接受两个参数:一个是要匹配的 字符串模式(注意不是字面量),两一个是可选的标志字符串

常用方法:

  • pattern.exec(str):

    • 对于exec()方法而言,即使在模式中设置了全局标志(g),它每次也只会返回一个匹配项。在不设置全局标志的情况下,在同一个字符创上多次调用exec()将始终返回第一个匹配项的信息。而在设置全局标志的情况下,每次调用exec()则会在字符串中继续查找新匹配项。
    • exec()方法返回一个对象,拥有两个属性:index和input,index表示匹配项在字符串中的位置,input表示应用正则表达式的字符串
  • pattern.test(str):

    • 在模式与该参数匹配的情况下返回true,否则返回false

String类型也可以利用正则表达式来实现相应的功能:

  • match方法:
var text = "cat, bat, sat, fat";

var pattern = /.at/;
text.match(pattern);  // 无论执行多少次,都只会返回 ["cat"]

var pattern = /.at/g;
text.match(pattern);  // 返回 ["cat", "bat", "sat", "fat"]
  • replace方法:
var text = "cat, bat, sat, fat";

var pattern = /.at/;
text.replace(pattern, "skt");  // 无论执行多少次,都只会返回 "skt, bat, sat, fat"

var pattern = /.at/g;
text.replace(pattern, "skt");  // 无论执行多少次,都只会返回 "skt, skt, skt, skt"
  • search方法:返回字符串第一个匹配项的索引
var text = "cat, bat, sat, fat";

var pattern = /.at/;
text.search(pattern);  // 无论执行多少次,都只会返回 0

var pattern = /.at/g;
text.search(pattern);  // 无论执行多少次,都只会返回 0

相关文章

  • 原生js的基础方法等二

    JavaScript 正则表达式 正则表达式模式 调试 this JSON 字符串转换为 JavaScript 对...

  • day5-正则表达式学习(基于JavaScript)

    JavaScript正则表达式 什么是正则表达式

  • JavaScript 引用类型

    一、 RegExp 类型 JavaScript 通过 RegExp 类型来支持正则表达式。使用类似与 Perl 的...

  • JS 正则表达式

    语法 常用的方法: javascript中如何声明一个正则表达式对象在JavaScript当中,声明一个正则表达式...

  • 正则

    1 JS之正则表达式15个常用的javaScript正则表达式

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

  • 工具以及网页

    正则表达式:https://regex101.com/#javascript

  • (十三)Dart正则表达式及常用的APIs、类、工具

    一、Dart正则表达式 RegExp 类提供了类似 JavaScript 正则表达式同样的功能。 正则表达式可以高...

  • 正则表达式

    JavaScript正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex...

  • 8/25

    JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为rege...

网友评论

    本文标题:JavaScript与正则表达式

    本文链接:https://www.haomeiwen.com/subject/devtattx.html