JavaScript RegExp,正则表达式 对象

正则表达式是描述字符模式的对象。正则表达式用于在文本上执行模式匹配和“搜索和替换”功能。

var patt = /JC2182/i

示例说明:

  • /JC2182/i - 是一个正则表达式。
  • JC2182 - 是一种模式(用于搜索)。
  • i - 是一个修饰符(将搜索修改为不区分大小写)。

修饰符用于执行不区分大小写和全局搜索:

修饰符描述
g执行全局匹配(查找所有匹配项,而不是在第一次匹配后停止)
i执行不区分大小写的匹配
m执行多行匹配

括号

括号用于查找一系列字符:

表达式描述
[abc]找到括号之间的任何字符
[^abc]找到不在括号之间的任何字符
[0-9]找到括号内的任何字符(任何数字)
[^0-9]找到不在括号之间的任何字符(任何非数字)
(x|y)找到指定的任何替代方案

元字符

元字符是具有特殊含义的字符:

元字符描述
.查找单个字符,但换行符或行终止符除外
\w找一个单词字符
\W找一个非单词字符
\d找一个数字
\D找一个非数字字符
\s找一个空白字符
\S找到一个非空白字符
\b在单词的开头/结尾找到匹配项
\B查找不在单词开头/结尾的匹配项
\0找一个NUL字符
\n找一个换行符
\f找到换页符
\r找一个回车符
\t找到制表符
\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到任意大于X个n序列的任何字符串
n$匹配任何字符串,其末尾为n
^n匹配任何字符串在其开头为n
?=n匹配任何后跟特定字符串n的字符串
?!n匹配任何未跟随特定字符串n的字符串

RegExp对象属性

属性描述
constructor返回创建RegExp对象原型的函数
global检查是否设置了“g”修饰符
ignoreCase检查是否设置了“i”修饰符
lastIndex指定开始下一个匹配的索引
multiline检查是否设置了“m”修饰符
source返回RegExp模式的文本

RegExp对象方法

属性描述
compile()在1.5版中已弃用。 编译正则表达式
exec()测试字符串中的匹配项。 返回第一个匹配项
test()测试字符串中的匹配项。 返回true或false
toString()返回正则表达式的字符串值