正则表达式:
-
语法:/正则表达式/ 2.最简单的正则:关键字原文本身:"no" /no/ig i:忽略大小写 g.全部 3.备选字符集:一个备选字符集:规定了以为字符可用的备选字符列表 如何:/[备选字符集]/ 强调:1.一个中括号,只能匹配一个字符 2.正则默认只要马努后,就不再管理后续操作,后续用户可以乱输入-不合理 解决:只要做验证!!必须/^[备选字符集]代表要求重头到尾完全匹配-用户输入的东西须和我们规定的东西一样 特殊:1.如果备选字符集中,unicode是连续的,那么中间可以用-代替 比如一位数字:[0-9] 一位字母:[A-za-z] 一位数字,字母,下划线:[A-Za-z_] 一位汉字:[/u4e00-/u9fa5] 预定义字符: 一位数字:\d-》代表的是[0-9] 一位数字,字母,下划线:\w代表的是[0-9A-Za-z_] 一位空白字符:\s代表的是空格,制表符,换行 一位除了换行外的任意字符:. (点)但是这个范围太大了 建议优先使用预定义字符集,如果预定义字符集没有,在备选字符集补充 强调:不管是备选字符集,还是预定义字符集,一个都只管一位。 4.量词:规定了一个字符集的出现的次数: 1.有明确的数量 字符集{n,m}表示前边相邻的字符集,最少有N位,最多有m位. 字符集{n,}表示前边相邻的字符集,最少有N位,最多不限。 字符集{n}表示前边相邻的字符集,只能有n位。 2.没有明确的数量: 字符集 ?:表示前边相邻的字符集,可有可无,最多一次 字符集 **:表示前边相邻的字符集,可有可无,多了不限 字符集+:前边相邻的字符集,至少一次多了不限。 5.指定匹配的位置: ^:以什么开头 同时出现那么从头到结尾完全匹配-只要是做验证必须加
6.选择和分组:
选择:规则1||规则2-可以再多几个规则中选择满足的规则进行执行: 分组:添加子规则:(规则一||规则2)
字符串中也支持正则表达式的API:分割和替换 1.分割字符串: var arr=str.split(reg) 2.替换字符串 1.基本替换法: var nerstr=str.replace(reg,"新内容"); 特殊:默认只会替换第一个关键字,想要替换所有记得加后缀g 2.替换的内容只能是一个固定的新内容 2.高级替换法: var newstr=str.replace(/[关键字]/g,function(a,b,c(){ console.log(a)表示正则匹配到的关键字 console.log(b) 表示正则匹配到的关键字的下标 console.log(c) 表示匹配到的原文: return a.length==??"***";
})
-
格式化:如果替换的API使用正则时,并且里面带有分组,那么你会得到更多的形参 var newstr=str replace(reg,function(a,b,c){ console.log(a)表示正则匹配到的关键字 console.log(b) 表示第一个分组获取到的内容 console.log(c) 表示第二个分组获取的内容 return 格式化的东西 })