一、正则表达式

  (一)正则的概念

    1、正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符

  (二)创建正则的方式

    1、字面量的方式:/正则表达式/标志位;

    2、构造函数方式:new RegExp('正则表达式','标志位')

  (三)正则表达式的方法

    1、正则对象.test(字符串):用于测试字符串是否包含正则内容,返回布尔值,常用于表单验证

    2、正则对象.exec(字符串):返回伪数组,数组中的第一个元素是整个正则表达式匹配的内容,其他元素是组的匹配内容

    3、字符串的方法:

      1)字符串.match(正则表达式):返回伪数组,数组中的第一个元素是整个正则表达式匹配的内容,其他元素是组的匹配内容

      match与exec的区别:

        a、无组无标志位g的时候返回的一样

        b、无组有标志位g的时候match受全局匹配影响

        c、有组无标志位g的时候返回的一样

        d、有组有标志位g的时候match受全局匹配的影响

      2)replace(正则表达式,替换的内容);

      3)search()相当于indexOf()查找当前元素的第一次出现位置的下标

  (四)正则表达式的元字符有哪些(三三二三个一)

    1、第一个三:{} () []

      {}:限制括号前的一个或一组字符连续出现的次数

      {m}:限制括号前的一个或一组字符连续出现m次

      {m,}:限制括号前的一个或一组字符连续出现m至无限次

      {m,n}:限制括号前的一个或一组字符连续出现m次至n次,最少m次,最多n次

      ():表示组

      []:表示范围

    2、第二个三:* + ?

      *:相当于{0,}限制*前的一个或一组字符连续出现0至无限次

      +:相当于{1,}限制+前的一个或一组字符连续出现1至无限次

      ?:相当于{0,1}限制?前的一个或一组字符连续出现0至1次

    3、二:^ $

      ^:

        1)用于正则表达式的开头,表示定头(限制开头字符)

        2)用于[]的开头,表示取反

      $:只能用于正则表达式的结尾,表示定尾(限制结尾字符)

    4、第一个一:

      .:表示模糊匹配任意一个字符

    5、第二个一:

      |:表示或(通常结合组使用)

    6、第三个一:

      \:转义字符

    7、特殊转义字符

      \s:表示空白

      \S:表示非空白

      \d:表示数字[0-9]

      \D:表示非数字[^0-9]

      \w:表示字母,数字,下划线[a-zA-Z_]

      \W:表示非字母,数字,下划线[^a-zA-Z_]

      \b:表示单词边界

      \B:表示非边界

注js正则标志/g,/i,/m说明

1、/g 表示该表达式将用来在输入字符串中查找所有可能的匹配,返回的结果可以是多个。如果不加/g最多只会匹配一个

2、/i  表示匹配的时候不区分大小写

3、/m 表示多行匹配,什么是多行匹配呢?就是匹配换行符两端的潜在匹配。影响正则中的^$符号

JS学习笔记Day14的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  3. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  4. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  5. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

  6. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  7. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  8. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  9. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

随机推荐

  1. mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享

    摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启 ...

  2. C#-事件event

    目录 1. 简介 2.实际案例 2.1实际案例1 2.2实际案例2--带有参数的事件 3.标准事件的用法 3.1通过扩展EventArgs来传递数据 3.2代码实例 1. 简介 事件是一种类型安全的委 ...

  3. 网络中的NAT模式

    一.概述 NAT英文全称是"Network Address Translation",中文意思是"网络地址转换",它是一个IETF(Internet Engin ...

  4. mysql 将一个表中的数据复制到另一个表中,sql语句

    1.表结构相同的表,且在同一数据库(如,table1,table2) Sql :insert into table1 select * from table2 (完全复制) insert into t ...

  5. Pycharm 消除波浪线

    转载:https://blog.csdn.net/youyouran12314/article/details/77719261 Pycharm环境下显示 在代码中显示许多波浪线,查看详情显示Spel ...

  6. 英语口语练习系列-C10-up and down

    <长恨歌>·白居易 长恨歌朗读视频,点我可听,thanks 长恨歌-白居易 汉皇重色思倾国,御宇多年求不得.杨家有女初长成,养在深闺人未识. 天生丽质难自弃,一朝选在君王侧.回眸一笑百媚生 ...

  7. (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂

    (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂 1. 在官网https://struts.apache.org下载Struts2,建议下载2.3系列版本.从图中可以看出 ...

  8. Ubuntu16.04中php如何切换版本

    其实就是一条Linux命令,如下: sudo update-alternatives --config php 会出现下面选项: There are choices for the alternati ...

  9. C# 将普通字符串转换为二进制字符串

    1.因为项目的需要,在向数据库中添加人的信息时,必须要求是英文或数字,所以想了个办法,将我们人能看懂的字符串编译成二进制字符串转入就行了. 具体的逻辑实现代码如下:

  10. 父进程结束,其子进程不会结束,会挂到init进程下

    结论:一个父进程产生子进程,父进程结束(kill),子进程不会结束,子进程被init进程托管 下面是过程: d.sh脚本是一个ping命令,执行d.sh 目前,103310 进程为父进程,103344 ...