javascript RegExp

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匹配非单词边界

查找NUL字符

查找换行符

f查找换页符

查找制表符

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

原文地址:https://www.cnblogs.com/qiao20/p/7921292.html