1.可处理正则表达式的方法有:regexp.exec、regexp.test、string.match、string.replace、string.search和string.split.
2.在正则表达式中,元字符都必须转义,元字符有 ( [ { ^ $ | ) ? * + . ] },转义符号为“”
3.正则表达式能设置3个标识:g(全局的)、i(大小写不敏感)、m(多行)
4.转义字符:d 数字,相当于[0-9] D 非数字,相当于[^0-9]
w 字母、数字、下划线,相当于[a-zA-Z0-9_] W 相当于相当于[^a-zA-Z0-9_]
s 空白字符 S 非空白字符
5.量词
x? 匹配0个或1个x,相当于x {0,1}
x* 匹配0个或任意多个x,相当于x{0,}
x+ 匹配一个或多个x,相当于x{1,}
x{m,n} 匹配最少m个,最多n个x,相当于x{m,n}
x{m} 匹配m个x
(xyz)+ 匹配最好一个(xyz)
5. /^/ 表示从一开始就开始匹配 , /$/ 表示一直匹配到行尾,/^$/表示从行首匹配到行尾
6.举例
1)输入一个字符串,字符串中仅出现“字母、数字、下划线、.、-”时返回true,否则返回false
1 function judgeStr(str){ 2 var pattern = /^[w.-]+$/; 3 return pattern.test(str); //用正则表达式调用test()函数时,正则表达式后面不要加g 4 } 5 console.log(judgeStr("hello-world")); //true 6 console.log(judgeStr("hello*world")); //false
2)去掉字符串前后的空格
1 String.prototype.trim = String.prototype.trim || function(){ 2 var pattern = /^s+|s+$/g; 3 //replace的第一个参数为字符串时,只能替换第一个子字符串, 4 //为正则表达式,且指定全局(g)标志,才能替换所有子字符串 5 return this.replace(pattern,""); 6 }; 7 console.log(" fff ".trim().length); //3