RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具正则表达式
直接量语法数组
/pattern/attributes函数
建立RegExp对象的语法工具
new RegExp(pattern,attributes);code
参数对象
pattern是一个字符串,指定了正则表达式的模式或其余正则表达式ip
attributes是一个可选的字符串,包含属性"g","i","m",分别用于指定全局匹配,区分大小写的匹配和多行匹配。ECMAScript标准化以前,不支持m属性。若是pattern是正则表达式,而不是字符串,则必须省略参数。字符串
返回值it
一个新的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匹配单词边界
\B匹配非单词边界
\0查找NUL字符
\n查找换行符
\f查找换页符
\r查找制表符
\v查找垂直制表符
\xxx查找以八进制数xxx规定的字符
\xdd查找以十六进制数dd规定的字符
\uxxxx查找以十六进制数xxxx规定的Unicode字符
量词
n+匹配任何包含至少一个n的字符串
n*匹配任何包含零个或多个n的字符串
n?匹配包含零个或一个n的字符串
n{X}匹配包含X个n的序列字符串
n{X,Y}匹配包含X至Y个n的序列字符串
n{X,}匹配包含至少X个n的序列字符串
n$匹配任何结尾为n的字符串
^n匹配任何开头为n的字符串
?=n匹配任何其后紧接指定字符串n的字符串
?!n匹配任何其后没有紧接指定字符串n的字符串
RegExp对象属性
global RegExp对象是够具备标志g
ignoreCase RegExp对象是否 具备标志i
lastindex 一个整数,标识开始下一次匹配的字符位置
multiline RegExp对象是否具备标识m
source 正则表达式的源文本
RegExp对象方法
compile 编译正则表达式
exec 检索字符串中指定的值。返回找到的值,并肯定其位置
test 检索字符串中指定的值,返回true或false
支持正则表达式的String对象的方法
search 检索与正则表达式匹配的值
match 找到一个或多个正则表达式的匹配
replace 替换与正则表达式匹配的子串
split 把字符串分割为字符串数组