RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具
直接量语法
/pattern/attributes
创建RegExp对象的语法
new RegExp(pattern,attributes);
参数
pattern是一个字符串,指定了正则表达式的模式或其他正则表达式
attributes是一个可选的字符串,包含属性"g","i","m",分别用于指定全局匹配,区分大小写的匹配和多行匹配。ECMAScript标准化之前,不支持m属性。如果pattern是正则表达式,而不是字符串,则必须省略参数。
返回值
一个新的RegExp对象,具有指定的模式和标志。如果参数pattern是正则表达式而不是字符串,那么RegExp()构造函数将用与指定的RegExp相同的模式和标志创建一个新的RegExp对象
如果不用new运算符,而将RegExp()作为函数调用,那么它的行为与new运算符调用时一样,只是当pattern是正则表达式时,它只是返回pattern,而不再创建一个RegExp对象。
抛出
SyntaxError - 如果pattern不是合法的正则表达式,或attributes含有"g","i","m"之外的字符,抛出该异常。
TypeError - 如果pattern是RegExp对象,但是没有省略attributes 参数,抛出该异常。
修饰符
i 执行对大小写不敏感的匹配
g 执行全局匹配(查找所有匹配而非找到第一个匹配而停止)。
m 执行多行匹配
方括号
方括号用于查找某个范围内的字符:
【abc】查找方括号之间的任何字符
【^abc】查找任何不在方括号之间的字符
【0-9】查找任何从0至9的数字
【a-z】查找任何从小写a到小写z的字符
【A-Z】查找任何大写A至大写Z的字符
【A-z】查找任何大写A至小写z的字符
【adgk】查找给定集合内的任何字符
【^adgk】查找给定集合外的任何字符
(red|bule|yellow)查找任何指定的选项
元字符
. 查找单个字符,除了换行和行结束符
w 查找单词字符
W查找非单词字符
d 查找数字
D查找非数字字符
s查找空白字符串
S查找非空白字符
匹配单词边界
B匹配非单词边界