有问题可以留言询问
正则表达式的思维导图
https://www.processon.com/view/link/5b835f73e4b0534c9bbcb7f5
javascript代码测试
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
/*****
*
* pattern 正则表达式文本
* flags 该参数可以是下面单个值或者几个值的任意组合:
i 不区分大小写的匹配
g 表示全局匹配
m 将字符串视为多行,不管是那行都能匹配,使得多行也可匹配
s 将字符串视为单行,将\n视为普通字符,即不是换行
x 将模式中的空白忽略;
A 强制从目标字符串开头匹配;
D 如果使用$限制结尾字符,则不允许结尾有换行;
U 只匹配最近的一个字符串;不重复匹配;
* **************/
/*
var reg =new RegExp("h.llo",'gi'); //匹配单个任意字符
console.log('hEllojsHellohallo heello'.match(reg)); //完全匹配 ,如果 没加g也是匹配一次就没了
*/
var times=0;
function write(reg,str){
document.write("<br/>字符串"+str+"<br/>使用模式"+reg+"<br/>匹配结果为"+str.match(reg)+"<br/>");
}
//全词匹配
var reg;
var str = "Ben Ban B_n Btn B[1]n B11n B2n B4n B+n B9n ";
reg= new RegExp("Ben",'gi');
write(reg,str);
reg= new RegExp("B.n",'gi');
write(reg,str);
reg= new RegExp("B[123]n",'gi');
write(reg,str);
reg= new RegExp("B[1-3]n",'gi');
write(reg,str);
reg= new RegExp("B[^1-3]n",'gi');
write(reg,str);
reg= new RegExp("B\\[1\\]n",'gi');
write(reg,str);
reg= new RegExp("B\\[1\\]n",'gi');
write(reg,str);
reg= new RegExp("B[1+9]n",'gi');
write(reg,str);
reg= new RegExp("B[1]+n",'gi');
write(reg,str);
reg= new RegExp("B[1]+9n",'gi');
write(reg,str);
reg= new RegExp("B[1]?[9]n",'gi');
write(reg,str);
reg= new RegExp("B[1]*[9]?n",'gi');
write(reg,str);
reg= new RegExp("B[1]*[9]?n",'gi');
write(reg,str);
var str2="";
str2=" hello i\'m davidway ";
reg = new RegExp("\b ");
write(reg,str2);
//javascript 不支持回溯引用?
str2="<h1>test</h1>";
reg = new RegExp("<h([1-2])>.*?</h\1>");
write(reg,str2);
str2="http://www.baidu.com ";
reg = new RegExp(".+(?=:)");
//var reg2 = new RegExp(".+:");
write(reg,str2);
str2="http://www.baidu.com \$23.24";
reg = new RegExp(".+(?=:)");
//var reg2 = new RegExp(".+:");
write(reg,str2);
reg = new RegExp("(?<=\$)[0-9]+.[0-9]+");
//var reg2 = new RegExp(".+:");
write(reg,str2);
</script>
网友评论