正则表达式是对字符串的结构进行描述,简单说它就是描述字符串的字符排列规律。它是字符串匹配和处理方面的高手。
正则写法
1. 简写:/pattern/[attributes]
var reg = /abc/; // 字面量方式
2. 全写:new RegExp(pattern[, attributes])
var reg = new RegExp("abc");
其中attributes为 “g”(全文查找 )、“i”(忽略大小写) 和 “m”(多行查找)的任意组合,默认值都是“非”。
var reg = new RegExp("a","gi”); // 匹配所有的a或A
当正则为变量时,只能用全写方式。
var str = “abc”; var reg = new RegExp(str);
正则方法
exec:检索字符串中指定的值。返回找到的值,并确定其位置。
test:正则匹配字符串,返回boolean。
compile :编译正则表达式。
支持正则表达式的 String 对象的方法
search:字符串匹配正则,返回位置(失败返回: -1),类似string.indexOf()
match: 字符串匹配正则,返回数组(失败返回: null)
replace: 字符串匹配正则,匹配成功的字符被替换成新的字符串。
split: 把字符串分割为字符串数组。
元字符
( [ { ^ $ | ) ? * + .
元字符是正则表达式的一部分,当我们要匹配正则表达式本身时,必须对这些元字符转义。
预定义类
. 查找单个字符,除了换行和行结束符。(小数点)匹配任何除了新一行开头字符的任何单个字符。
w 查找单词字符:数字、字母、下划线 。等价于[A-Za-z0-9_]。
W 查找非单词字符。等价于[^A-Za-z0-9_]。
d 查找数字。等价于[0-9]。
D 查找非数字字符。等价于[^0-9]。
s 查找空白字符。包括空格、制表符、换页符和换行符。
S 查找非空白字符。
匹配单词边界:起始、结束、空格
B 匹配非单词边界。