创建一个正则表达式
字面量创建
var reg=/abc/
构造函数
var reg=new RegExp(“abc”)
正则表达式里面的符号
元字符
- . :匹配非换行的任意字符
- \ :转译符号,把有意义的符号转换成没有意义的字符,把没有意义的字符转换成有意义的字符
- \s:匹配空白字符
- \S:匹配非空白字符
- \d:匹配数字
- \D:匹配非数字
- \w:匹配数字字母下划线
- \W:匹配非数字字母下划线
限定符 - *:前一个内容重复至少0次,0~正无穷次
- +:前一个内容至少出现一次,1~正无穷次
- ?:前一个内容重复0或者1次,0~1次
- { n }:前一个内容至少出现n次,必须出现n次
- { n,}:前一个内容至少出现n次,n~正无穷次
- { n,m}:前一个内容至少
出现n次至多出现m次,n~m次
边界符 - ^:表示开头
- $:表示结尾
- 边界符是限定字符串的开始和结尾的
特殊符号 - ( ) :限定一组元素
- []:字符集合,,表示写在一个[ ]的都可以
- -:范围,a-m,表示字母a到字母m都可以
- |:或,正则里的或a|b表示字母a或者b都可以
标识符 - i:
表示忽略大小写
写在正则的最后面 - g:
表示全局匹配
也是写在正则最后面
正则表达式的方法
-
test:
用来检测字符串是否符合我们正则的标准
语法:正则.test(字符串)
返回值:boolean -
exec:
exec是把字符串中符合条件的内容捕获出来
语法:正则.exec(字符串)
返回值:把字符串中符合正则要求的第一项以及一些其他信息,以数组的形式返回
字符串的方法 -
search:
查找字符串中是否有满足正则条件的内容
语法:字符串.search(正则)
返回值:有内容返回开始索引,无返回-1 -
match:
match找到字符串中符合条件的内容返回
语法:字符串.match(正则)
返回值:
没有标识符g时,是和exec方法一样
有标识符g时,返回一个数组,里面是匹配到的每一项 -
replace:
replace将字符串中满足条件的字符串替换掉
语法:字符串.replace(正则,要替换的字符串)
返回值:替换后的字符串