慕课网笔记:正则表达式

一. 在线工具:https://regexper.com/

二. 含义

1.修饰符

g:全文搜索,不添加的话,搜索到第一个匹配停止

i:忽略大小写,默认大小写敏感

m:多行搜索

2.元字符

\t:水平制表符

\n:换行符

\r:回车符

\b:单词边界或者数字[0-9]

\D:非数字字符[^0-9]

\B:非单词边界

[ ]:归为一类,代表或,例:[abc]为a或b或c

[^]:取反,例:[^abc]为不是abc

[-]:范围,例:[a-z],[0-9],[a-zA-Z]大小写同时

^:以xxx开头

$:以xxx结束

.:除了回车换行以外的所有字符

\s:空白字符

\S:非空白字符

\w:单词字符(数字字母下划线)[a-zA-Z_0-9]

\W:非单词字符[^a-zA-Z_0-9]

3.量词

:零个或一个(最多一

+:一或多(最少一

*:任意

{n}:n

{n,m}:从n到m个(贪婪模式,尽可能多匹配到m,{n,m}?,非贪婪模式,少数匹配到n)

{n,}:至少n个

{0,n}:最多n个

( ):分组,abc{3}量词只做用于c,(abc){3}量词作用于abc

|:或,ab(e|c)df

$:引用分组,"2018-09-23".replace( /(\d{4})-(\d{2})-(\d{2})/g , '$2/$3/$1' ),09/23/2018

(?: ):忽略分组,不被引用,(?:abc)

(?=):正向前瞻,符合表达式同时后面也符合断言,"a3*34vv".replace( /\w(?=\d)/g , "x" ),把后面是数字的单词替换成x

(?!):负向前瞻

三. 使用

1.字变量(替换“is”为“IS”)

var text="he is a boy ,this is a book, she is where?";
var reg=/\bis\b/g;
var now=text.replace(reg,"IS");
document.write(now);

2.构造函数

var reg=new RegExp('\\bis\\b','g');

3.方法

//测试字符是否有匹配表达式
reg.test("abc");

//返回匹配结果数组,否则返回null
reg.exec("abc");

你可能感兴趣的:(前端技术,js)