javascript RegExp

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 把字符串分割为字符串数组

相关文章
相关标签/搜索