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匹配单词边界
\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 把字符串分割为字符串数组

浙公网安备 33010602011771号