没事干就学习了一下一直头疼的正则表达式,下面是记录的一些笔记。
正则语法 \w a-zA-Z0-9 \W 非ASCII的 \s 空白格 \S 非空白格 \d 数字 \D 非数字 [...] 方括号的所有 [^...] 非方括号的所有 重复类 {n} 匹配前一项n次 比如/a{3}/i能匹配aaacc {n,} 匹配前一项至少一次,至多不限 {n,m} 匹配前一项至少n次,最多m次 {?} 匹配前一项0次或者1次 {+} 匹配前一项至少1次 {*} 匹配前一项0次或多次 选择符 | 分隔可以用来选择的文字 比如/a|b/i 定位符 ^ 匹配字符串的开头 $ 匹配字符串的结尾 \b 匹配一个单词的边界 \B 与\b相反,匹配一个非单词边界 标志 i 匹配时不区分大小写 g 匹配时执行全局匹配 m 匹配时执行多行匹配 特殊记录 \u4e00-\u9fa5 中文 \x00-\xff 双字节 /[^\w\u4e00-\u9fa5]/g 匹配所有非特殊字符 function getLength(str){ // 统计字符长度 return str.replace(/[^\x00-xff]/g,"xx").length; } test str = 'afaz'; rep=/(a[f-z]){2}/i; //a开头后面必须跟f-z的字符,而且必须为两组才能通过
发表评论: