1.在js正则表达式特殊的需要转义的字符有:
^ $ . * + ? = ! : | \ / ( ) [ ] { }
但实际应用中,还要根据实际情况来判断,以上字符可能不需要转义,也可能不止以上字符需要转义,这些都取决于在当前情况下其是否会产生异义。
2.js的正则表达式除啦按照数字和字母进行匹配,同时也支持非字母的字符匹配。需要\作为前缀来转义。
字符正则 描述\t/\t/制表符\n/\n/制表符\r/\r/回车符\f/\f/换页符\a/\a/alert字符\e/\e/escape字符\cX/\cX/与X相对应的控制字符\b/\b/与回退字符\v/\v/垂直制表符\0/\0/空字符
3.匹配的字符类
字符等同于描述.[^\n\r]除了换行和回车之外的任意字符\d[0-9]数字字符\D[^0-9]非数字字符\s[ \t\n\x0B\f\r]空白字符\S[^ \t\n\x0B\f\r]非空白字符\w[a-zA-Z_0-9]单词字符(所有的字母)\W[^a-zA-Z_0-9]非单词字符
4.用于模式匹配String的方法。
— search() “javascript”.search(/script/i);//4返回的是匹配到的位置。– replace()”yes js i love js very much!”.replace(/js/gi,’Java’);//Java js i love Java very much!– match()’2 is 5funcking 3′.match(/\d+/g)//[‘1′,’2′,’3’]– split()可以接受一个正则表达式作为参数。”1 ,4 ,6 ,7″.split(/\s*,\s*/g)//[“1″,”4″,”6″,”7”]5.修饰符:–i 执行的时候不区分大小写–g 执行是一个全局的匹配。找到所有的匹配。–m 多行匹配模式。比如\n的换行依然能够匹配。