参考资料:

1.正则表达式

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

1. 显式定义(构造函数)

let 变量名 = new RegExp("正则表达式模式");

2. 隐式定义(字面量)

let 变量名 = /正则表达式模式/

2.正则表达式常用方法

1.test

正则去匹配字符串,如果匹配成功就返回真,匹配失败返回假

写法:正则.test(字符串)

如:

var str='abcdef';
    var re=/b/; 
    console.log(re.test(str)); // ture




e javaScript正则表达式 js正则表达式实例_Powered by 金山文档


比如找出-

var str='abcdef';
    var re=/-/; 
    console.log(re.test(str)); // false


e javaScript正则表达式 js正则表达式实例_开发语言_02


2.search

正则去匹配字符串,如果匹配成功,就返回匹配成功的位置,如果匹配失败就返回-1

写法:字符串.search(正则)

如:

var str="abcdef";
    var re=/b/;
    console.log(str.search(re));    // 返回1
    var re=/w/;
    console.log(str.search(re));    // 返回-1
    var re=/B/; 
    console.log(str.search(re));    // 返回-1


e javaScript正则表达式 js正则表达式实例_正则表达式_03


3.match

正则去匹配字符串,如果匹配成功,就返回匹配成功的数组,如果匹配不成功,就返回null

写法:字符串.match(正则)

比如找出数字

var str="dgfhfgh254bhku289fgdhdy675";
    var re=/\d+/;
    console.log(str.match(re)); // 输出[ '254', '289', '675' ]


e javaScript正则表达式 js正则表达式实例_javascript_04


比如找出-

var str="dgfhfgh254bhku289fgdhdy675";
    var re=/-/;
    console.log(str.match(re)); // null


e javaScript正则表达式 js正则表达式实例_Powered by 金山文档_05


4.replace

正则去匹配字符串,匹配成功的字符被新的字符串替换

replace的写法:字符串.replace(正则,新字符串)

var str="aaa";
    var re=/a/;
    var strNew=str.replace(re,"b");
    console.log(str);       // 输出aaa
    console.log(strNew);    // 输出baa


e javaScript正则表达式 js正则表达式实例_开发语言_06


5.exec

正则去匹配字符串,

如果匹配成功,就返回匹配成功的数组,

index:表示第一个匹配的字符在原字符串中的位置,

input:表示原字符串,

groups:表示当初中命名的分组时匹配到的分组对象;

如果匹配不成功,就返回null

写法:正则. exec(字符串)

比如找出数字

var str="dgfhfgh254bhku289fgdhdy675";
    var reg=/\d+/;
    console.log(reg.exec(str));


e javaScript正则表达式 js正则表达式实例_开发语言_07


比如找出-

var str="dgfhfgh254bhku289fgdhdy675";
    var reg=/-/;
    console.log(reg.exec(str));


e javaScript正则表达式 js正则表达式实例_javascript_08


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位置和顺序

| 选择符,“或”运算