正则表达式

163 阅读2分钟

概述

正则表达式是一种用于对应的字符表示格式的相关方式,主要用于规定对应的字符串相关内容及格式。一般用于匹配字符串或检索字符串相关的格式

正则表达式的两种标准

  • posix 标准 (主要是由对应的系统遵守 区分相关不同系统的表达式)
  • prce 标准 (现如今的多种语言遵守的标准(pythone 、jaca 、c语言.js...))

正则对象的声明

**字面量声明

var 变量=// 匹配内容/模式修饰符
var regXxp=/a/gi  //匹配内容为a  全局匹配 不区分大小写

构造函数声明(new 关键词声明)

//var 变量 =new RegExp(匹配内容,模式修饰符)
//Regexp的构造函数 他里面传递两个参数可以是字符串也可以是正则对象
var regExp=new RegExp'a','gi'//匹配内容a 全局匹配 不区分大小写
模式修饰符
  • g 全局
  • i 不区分大小写
  • m 多行匹配
  • s 单行匹配
  • e 忽略空白字符
  • .....

正则对象的属性

属性

用于判断模式修饰符是否添加

  • dotAll 是否使用了模式修饰符
  • flage 使用的模式修饰符
  • global 是否使用模式修饰符
  • ignoreCase 是否使用模式修饰符 i
  • multiline 是否使用模式修饰符 m
  • sourcen 内容
  • ...

image.png

方法

  • test 测试是否匹配 (返回boolean 类型)
  • exec 类似于string的match方法 (返回的是一个数组)

image.png

开头结尾

image.png

[]表示其中任意一个字符()

image.png

{}量词 表示对应的数量

{n}表示n个元素 {n,k}表示n到k个元素 {n,}表示n个以上

image.png

()分组

image.png

    • 表示{0,}0到无限个

image.png

    • 表示 {1,} 1个到限个

image.png

  • ? 表示{0,1} 0个到1个 (表示贪婪模式)

image.png

image.png

  • \w 包含对应的[a-z A-Z 0-9 ___ ] \W 非[a-z A-Z 0-9]
  • \d 表示[0-9] \D非 [0-9]
  • \s表示空白字符串 \S非空白字符串

image.png

将内容进行转义的方式 采用转义符 \

将内容放到[]中

image.png

字符串支持正则的四个方法

  • search 搜索 (找到第一个匹配的下标 没有找到就返回-1)
  • match 匹配 (返回匹配的数组 没有就返回null)
  • split 分割 (通过传入分割符 返回对应的数组)
  • replace 替换 (传入对应的替换的内容 返回一个新的字符串)

image.png