概述
正则表达式是一种用于对应的字符表示格式的相关方式,主要用于规定对应的字符串相关内容及格式。一般用于匹配字符串或检索字符串相关的格式
正则表达式的两种标准
- 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 内容
- ...
方法
- test 测试是否匹配 (返回boolean 类型)
- exec 类似于string的match方法 (返回的是一个数组)
开头结尾
[]表示其中任意一个字符()
{}量词 表示对应的数量
{n}表示n个元素 {n,k}表示n到k个元素 {n,}表示n个以上
()分组
-
- 表示{0,}0到无限个
-
- 表示 {1,} 1个到限个
- ? 表示{0,1} 0个到1个 (表示贪婪模式)
- \w 包含对应的[a-z A-Z 0-9 ___ ] \W 非[a-z A-Z 0-9]
- \d 表示[0-9] \D非 [0-9]
- \s表示空白字符串 \S非空白字符串
将内容进行转义的方式 采用转义符 \
将内容放到[]中
字符串支持正则的四个方法
- search 搜索 (找到第一个匹配的下标 没有找到就返回-1)
- match 匹配 (返回匹配的数组 没有就返回null)
- split 分割 (通过传入分割符 返回对应的数组)
- replace 替换 (传入对应的替换的内容 返回一个新的字符串)