正则表达式 正则表达式;1.() 子集1231.子集 被括号包起来的就属于一个整体,2.replace的第二个参数,可以通过$1$2...$n$1可以获取第一个子集的内容,他只能匹配(\d)这种; 2.[] 匹配范围1[0-3],表示找到一个位置上的字符只能是0到3折四个数字,与(abc|bcd|cde)的作用比较类似,但圆括号可以匹配多个连续的字符 3.3. | 或者121.他一般在子集中用,如果在[]中用,那就会 2.把|当成字符进行匹配; 4.3.[\u4e00-u9fa5]1中文级:所有的中文; 5字符串的replace()方法;123456str="123456";reg=/123/var a = str.replace(reg,"帅");console.log(a)//帅456;第二个参数还可以返回一个回调函数,回调函数的arguments内容就是第一个参数是正侧匹配的数据,如果有子集表达是,第二个参数就是子集匹配的内容; 6.断言,常用正则;12345671.[^字符] 就是非字符,就是不要的意思2./(正则)\1/ 反向引用,\1是第一个子集,\2第二个子集3.(?:模式) 这是捕获匹配;4.a(?=f) 正向肯定预查,不捕获匹配,检查字符串后面的字符从后面看紧跟着f的a5.a(?!f) 正向否定预查;不捕获匹配,检查字符串后面的字符不紧跟着f的a6.a(?<=f) 反向肯定查,检查字符串前面的字符从前面看紧跟着f的a7.a(?<!) 反向否定查,检查字符串前面的字符不紧跟着f的a; 7.写法:/内容/修饰符;12345671.正则.test(字符串); 检测str中有没有符合reg的规则,有则返回true,无则返回false;2.字符串.match(正则); 返回一个数组,第零项返回reg匹配内容;3.正则.exec()分批次检查正则数据,第一次匹配第一个匹配的数据,第二次调用匹配第二个匹配的数据.4.str.search(正则)和字符串的str.indexOf()一样的,传入正则表达式;返回匹配到第一个字母的下表值;5.str.replace(正则,替换的内容/回调函数) 8.元字符;123456789101112131.\ 转义符2.\d 范围是[0-9];3.\D 非数字;4.\s 空格;5.\S 非空格;6.\w 字符(数字,字母,_);7.\W 非\w;8.\b 单词边界,就是单词和空格之间是否有开光标位置; (单词边界,单词起始,结束,连字符[除了\w之外的所有的字符串多属于连字符]);9.\B 非\b;10.小数点 . 除了换行符和回车符(\n,\r)其他的都是他匹配的范围;11.^ 以^后面的第一个字符串的开始;12.$ 以$前面的第一个字符串的结束; 量词;1.{最小值,最大值};1234567891.第一种是贪婪匹配默认就是贪婪匹配,也就是从最大值开始匹配,如果匹配不到就会依次降级,直到降到最低; /\d{5,10}/匹配数字,十个,没有就九个, 2.第二中就是非贪婪匹配,也就是从最小值开始匹配,写法就是后面加个?号; /\d{5,10}?/ 3.还有几种特殊的写法; 1.{5,}最小五次,最大无穷次 2.{0,} 可以简写为 * 号; 3.{1,} 可以简写为 + 号; 4.{0,1} 简写为 ? 号;(可有可无); 2.特殊修饰符:123451.i 忽略大小写,写在/正则表达式/i;2.g 全局匹配,从第一个开始匹配,匹配完输出答案; 返回的是一个数组;3.m 换行匹配,如果字符串中有换行的字符串,就可以 对他进行换行匹配 注意这三个标志符多是放在,正则表达式后面; 特殊字符(不常用);123451.\t水平制表符2.\v垂直表符3.\f换页符4.\n换行符5.\r回车符 Newer hook函数 Older 弹性盒子模型