1.正则表达式

正则表达式,全称“Regular Expression”,在代码中常简写为regex、regexp或RE。正则表达式,就是用某种模式去匹配一类字符串的公式。


  1. 显式定义(构造函数)
       let  变量名 =  new RegExp("正则表达式模式");
  2. 隐式定义(字面量)
    let 变量名 =  /正则表达式模式/
2.正则表达式常用方法

1.test

正则去匹配字符串,如果匹配成功就返回真,匹配失败返回假
写法:正则.test(字符串)
如:
var str='abcdef';
var re=/b/; 
alert(re.test(str));

2.search

正则去匹配字符串,如果匹配成功,就返回匹配成功的位置,如果匹配失败就返回-1
写法:字符串.search(正则)
如:
var str="abcdef";
var re=/b/;
alert(str.search(re));
//返回1
var re=/w/;
//返回-1
var re=/B/;
//返回-1	

3.match

正则去匹配字符串,如果匹配成功,就返回匹配成功的数组,如果匹配不成功,就返回null
写法:字符串.match(正则)
比如上面例子要找出数字
var str="dgfhfgh254bhku289fgdhdy675";
var re=/\d+/g;
alert(str.match(re));
//输出2	

4.replace

正则去匹配字符串,匹配成功的字符被新的字符串替换
replace的写法:字符串.replace(正则,新字符串)
var str="aaa";
var re=/a/;
str=str.replace(re,"b");
alert(str);
//输出baa

5.exec

正则去匹配字符串,如果匹配成功,就返回匹配成功的数组,index:表示第一个匹配的字符在原字符串中的位置,input:表示原字符串,groups:表示当初中命名的分组时匹配到的分组对象;如果匹配不成功,就返回null
写法:正则. exec(字符串)
比如上面例子要找出数字
var str="dgfhfgh254bhku289fgdhdy675";
var reg=/\d+/g;
alert(reg.exec(str));
//输出2	
3.常用元字符
\d匹配数字,相当于[0-9]
\D匹配非数字,相当于[^0-9]
\w匹配字母或数字或汉字或下划线
\W匹配任意不是字母、数字、汉字或下划线的字符
\s匹配任意的空白符,如空格、换行符、制表符等
\S匹配任意不是空白符的字符
.(点号)匹配除了换行符以外的任意字符
[...]匹配方括号中的所有字符
[^...]匹配非方括号中的所有字符
4.正则表达式连接符
[0-9]匹配数字,等价于\d
[a-z]匹配英文小写字母
[A-Z]匹配英文大写字母
[0-9a-zA-Z]匹配数字或英文字母
5.限定符
+重复1次或更多次
*重复0次或更多次(任意次数)重复0次或1次(最多1)
{n}重复n次
{n,}重复n次或更多次(最少n次)
{n,m}重复n到m次
6.定位符
^限定开始位置的字符
$限定结尾位置的字符
\b限定单词()边界的字符
\B限定非单词()边界的字符
7.修饰符
g: global 全文搜索,不添加,搜索到第一个匹配停止
i:  ignore case 忽略大小写,默认大小写敏感
m: multiple lines 多行搜索
8.特殊转义符
正则特殊转义符
 \f 匹配换页符 
 \n 匹配换行符 
 \r 匹配回车符 
 \t 匹配制表符 
 \v 匹配垂直制表符 
   \\ 匹配\
   \" 匹配 "
   \' 匹配 '
9.优先级顺序
\转义符
()(?:)(?=)[]圆括号或方括号
*+?{n}{n,}{n,m}限定符
^、$、lb、\B位置和顺序
| 选择符,“或”运算

更多推荐

JS 正则表达式