今天给大家分享一下js正则表达式
正则表达式:又称规则表达式,通常被用来检索、替换那些符合某个模式的文本。
首先我们先来看一下怎么声明正则表达式
声明正则表达式
1.通过new声明正则表达式
var box = new RegExp("hello","ig");
2.省略new运算符声明正则表达式
var box = RegExp("hello","ig");
3.通过常量赋值
/hello/ig;
正则中我们可以传入两个参数:
- 正则主体部分,一般情况下就是字符串
- 修饰符(没有先后顺序)
i 忽略大小写
g 全局匹配
m 换行匹配
正则表达式的方法
正则表达式对象只有两个方法
- test
格式:正则.test(字符串)
功能:在字符串中匹配这个正则是否存在
返回值:匹配成功返回true,匹配失败返回false - exec
格式:正则.exec(字符串)
功能:在字符串中匹配这个正则是否存在
返回值:返回匹配到的字符串,匹配成功。返回一个装有字符串的数组,匹配失败,返回null。
字符串的函数
- match()
格式:字符串.match(正则)
功能:在字符串匹配是否有符合正则表达式
返回值:匹配成功,返回装有匹配到子串的数组。匹配失败,返回null。
var str = "i love Love LOVE you"
var box = /love/ig;
alert(str.match(box)); //love Love LOVE
- relpace()
格式:字符串.replace(oldStr/正则, newStr);
功能:用newStr将oldStr替换
返回值:替换成功的新字符串
var str = "i love Love LOVE you"
var box = /love/ig;
var newStr = str.replace(box,"miss");
alert(newStr); //i miss miss miss you
- split()
格式:字符串.split(分割符/正则);
功能:用分割符将原字符串进行分割
返回值:分割剩下的子串组成的数组
var str = "i love Love LOVE you"
var box = /love/i;
var arr = str.split(box);
alert(arr); //i ,,, you
- search()
格式:字符串.search(子串/正则)
功能:找到符合条件的子串第一次出现的位置
返回值:如果找到,返回>=0的下标。否则返回 -1
var str = "i LOVE love you"
var box = /love/i;
alert(str.search(box)); //2
元字符
元字符是在正则表达式中有特殊含义的字符
单个数字和字符的元字符
-
.(这是一个点哦)
匹配单个的任意字符 -
[范围]
匹配单个范围内的字符 -
[0-9]
匹配单个数字 -
[a-zA-Z0-9]
匹配单个的数字、字母、下划线 -
[^范围]
匹配任意一个除了括号范围内的字符 -
[^0-9]
匹配任意一个非数字字符 -
\w
匹配单个数字、字母、下划线,等价于[a-zA-Z0-9] -
\W
匹配单个非数字、字母、下划线 -
\d
匹配单个数字,等价于[0-9] -
\D
匹配单个非数字,等价于[^0-9]
空白字符
-
\s
匹配任意单个的空白字符 -
\S
匹配任意单个非空白字符
重复字符x(任意的单个字符)
-
x?
匹配0个或一个x -
x+
匹配至少一个x字符 -
x*
匹配任意个x字符 -
x{m, n}
匹配至少m个,最多n个x字符,包括n -
x{n}
必须匹配n个x字符 -
(abc)
小括号括起来的部分当作单个字符处理
锚字符
-
^
行首匹配,必须以这个正则开头 -
$
行尾匹配,必须以这个正则结尾
以上就是正则表达式的一些重点,希望对大家有所帮助。如果有错误的地方还望指出。
上天不会亏待努力的人,也不会同情假勤奋的人,你有多努力,时光它知道。喜欢的小伙伴一起加油吧!!