REGEXP对象

JavaScript通过内置对象RegExp支持正则表达式,有两种方法实例化RegExp对象。

1.字面量

2.构造函数

字面量

字面量是直接通过/.../创建RegExp对象实例。

var reg = /\bis\b/
var text = 'He is a boy.' var result = text.replace(reg, 'IS') // 'He IS a boy.'

构造函数

构造函数版本看起来比较像Java中创建实例的样子,但是正如不推荐使用new Array而是使用[]创建数组一样,推荐使用字面量创建RegExp对象实例。

var reg = new RegExp('\\bis\\b', 'g')
var text = 'He is a boy. It is a dog' var result = text.replace(reg, 'IS') // 'He IS a boy. It IS a dog'

修饰符

在正常情况下,正则匹配到第一个匹配项则停止,并且默认大小写敏感,如果想修改默认选项,则需要修饰符。值得一提,修饰符可以同时使用,比如我想要全局大小写不敏感,则同时在正则末尾加上gi

g:global 全文搜索

i:ignore case 忽略大小写

m:multiple lines 多行搜索

var reg = /\bis\b/gi
var text = 'He is a boy. It Is a dog' var result = text.replace(reg, 0) // 'He 0 a boy. It 0 a dog'

JS正则表达式从入门到入土(1)—— REGEXP对象的更多相关文章

  1. JS正则表达式从入门到入土(8)—— REGEXP对象属性

    对象属性 常用对象属性主要有以下几种: 1.global: 是否全文搜索,默认false 2.ignore case:是否大小写敏感,默认是false 3.multiline:多行搜索,默认值是fal ...

  2. JS正则表达式从入门到入土(10)—— 字符串对象方法

    字符串对象方法 search方法 String.prototype.search(reg) search方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,方法返回第一个匹配结果的 ...

  3. JS正则表达式从入门到入土(9)—— test方法以及它的那些坑

    test方法 test方法介绍 RegExp.prototype.test(str) test方法用于测试字符串参数中是否存在匹配正则表达式模式的字符串 test方法的使用 let reg = /\w ...

  4. JS正则表达式从入门到入土(7)—— 分组

    分组 在使用正则的时候,有时候会想要匹配一串字符串连续出现多次的情况,比如:我想匹配字符串Byron连续出现3次的情况. 有些人会直接写: Byron{3} 但是,这种情况仅仅会匹配Byro加上三个n ...

  5. JS正则表达式从入门到入土(6)—— 贪婪模式与非贪婪模式

    贪婪模式 之前说了正则的量词,但是量词会带来一个到底该匹配哪个的问题. 如下正则表达式: \d{3,6} 这个正则表达式是匹配3到6个数字,但是当这个正则表达式被用来匹配12345678这个字符串,到 ...

  6. JS正则表达式从入门到入土(4)—— 预定义类与边界

    预定义类 正则表达式提供预定义类来匹配常见的字符类 字符 等价类 含义 . [^\r\n] 除了回车符和换行符以外的所有字符 \d [0-9] 数字字符 \D [^0-9] 非数字字符 \s [\t\ ...

  7. JS正则表达式从入门到入土(3)—— 范围类

    范围类 在使用正则表达式时,很多时候,我们会想要匹配a~z的所有字母,很多人想到,可以使用字符类[abcdefg...z],但是,这种方法需要输入所有需要匹配的字母.那么,有没有简单点的方法呢? 所幸 ...

  8. JS正则表达式从入门到入土(2)—— 元字符和字符类

    元字符和字符类 元字符 正则表达式由两种基本字符类型组成: 1.原义(正常)文本字符:代表本身含义的字符,如:a.b.c.1.2.3等. 2.元字符:元字符是在正则表达式中有特殊含义的非字母字符,如\ ...

  9. JS正则表达式从入门到入土(5)—— 量词

    量词 很多时候,我们需要匹配一个连续出现很多次字符的字符串,比如,我们要匹配一个连续出现20次的数字的字符串,按照之前的写法: \d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d ...

随机推荐

  1. 总结界面框架_UI_Adapter

    本人定期更新经典案例及解决方案如有疑问请联系我QQ1822282728 -- 277627117   下面是常用到的ui  Demo 安卓三级筛选菜单listview(非常经典) http://dow ...

  2. Java知识点梳理——装箱和拆箱

    1.前言:Java是典型的面向对象编程语言,但其中有8种基本数据类型不支持面向对象编程,基本数据类型不具备对象的特性,没有属性和方法:Java为此8种基本数据类型设计了对应的类(包装类),使之相互转换 ...

  3. Windows游戏编程大师技巧之三角形填充

    一.三角形的种类 三角形一般可以分为如下的四种类型(这四种类型是对于计算机来说的,不是数学意义上的分类): 平顶三角形:就是在计算机中显示的上面两个顶点的Y坐标相同. 平底三角形:就是在计算机中显示的 ...

  4. c#基础 第八讲

    static void Main(string[] args) { while (true)//一直循环 { Random r = new Random();//创建随机函数r int[] caipi ...

  5. 《从零开始学Swift》学习笔记(Day 69)——Swift与Objective-C混合编程之语言

    原创文章,欢迎转载.转载请注明:关东升的博客 在Swift语言出现之前,开发iOS或OS X应用主要使用Objective-C语言,此外还可以使用C和C++语言,但是UI部分只能使用Objective ...

  6. navicat自动生成DDL语句

    场景:当我们在开发库修改表结构之后,需要把这些表结构的变化同步更新到生产库,这时候可以在Navicat中copy表结构变更的SQL语句. 当你点击了“设计表”进行修改表结构,在保存表结构之前点击“SQ ...

  7. PHP array_merge() 函数

    <?php $a1=array("a"=>"red","b"=>"green"); $a2=array ...

  8. wordpress 忘记密码

    update wp_users set user_pass=md5("123456") where user_login='帐号';

  9. 策略(strategy)模式

    Head First一书中对于策略(strategy)模式的正式定义是:策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户. 为了介绍这个算法,书中讲了 ...

  10. C#的Installer生成的msi的安装文件,安装新版本时提示:已经安装了该产品的另一个版本。无法继续安装此版本

    之前折腾了个C#的项目: WLW (Windows Live Writer) Plugin–InsertSkydriveFiles 然后又弄了个对应的Installer: [已解决]给一个C#的Dll ...