正则表达式是形成搜索模式的一系列字符。
在文本中搜索数据时,可以使用此搜索模式来描述要搜索的内容。
正则表达式可以是单个字符,也可以是更复杂的模式。
正则表达式是描述字符模式的对象。
RegExp 构造函数创建用于与模式匹配文本正则表达式对象。
Syntax:
new RegExp(pattern, modifiers);
或简单地
/pattern/modifiers;
var regex = /nhooo/g
示例说明:
nhooo是一种模式(用于搜索)
g是修饰符(执行全局匹配)
您可以在我们的JavaScript RegExp教程中了解有关正则表达式的更多信息。
修饰符用于执行全局搜索,区分大小写和多行搜索:
修饰符 | 描述 |
---|---|
g | 执行全局匹配,即查找所有匹配,而不是在第一个匹配后停止 |
i | 执行不区分大小写的匹配 |
m | 执行多行匹配 |
方括号用于查找一系列字符:
表达 | 描述 |
---|---|
[abc] | 匹配在方括号中的任意字符 |
[^abc] | 匹配不在括号中的任意字符 |
[0-9] | 匹配方括号之间的任意数字 |
[^0-9] | 匹配不在括号之间的任何字符(任何非数字字符) |
(x|y) | 匹配指定的任何代替方案 |
元字符只是一个字母字符,后跟一个反斜杠,以使组合具有特殊含义:
元字符 | 描述 |
---|---|
. | 匹配除换行符 \n 之外的任何单字符。 |
\w | 匹配字母和数字 [0-9a-zA-Z] |
\W | 匹配非字母和数字 |
\d | 匹配数字[0-9] |
\D | 匹配非数字[^0-9] |
\s | 匹配空格 换行和缩进符 |
\S | 匹配非空格 换行和缩进符 |
\b | 在单词的开头/结尾找到匹配项 |
\B | 匹配不在单词开头/结尾处的匹配项 |
\0 | 匹配一个NUL字符 |
\n | 匹配换行符 |
\f | 匹配换页符 |
\r | 匹配回车符 |
\t | 匹配制表符 |
\v | 匹配垂直制表符 |
\xxx | 匹配由八进制数字xxx指定的字符 |
\xdd | 匹配由十六进制数字dd指定的字符 |
\uxxxx | 匹配由十六进制数字xxxx指定的Unicode字符 |
方括号字符序列和单个字符的频率或位置可以用特殊字符表示:
量词 | 描述 |
---|---|
z+ | 匹配任何包含至少一个z字符串 |
z* | 匹配任何包含零个或多个z字符串 |
z? | 匹配任何包含零或一个z字符串 |
z{X} | 匹配包含X个z的序列的字符串 |
z{X,Y} | 匹配包含X至Y个z的序列的字符串 |
z{X,} | 匹配至少包含 X 个z的序列的字符串。 |
z$ | 匹配任何以z结尾的字符串 |
^z | 匹配任何以z开头的字符串 |
?=z | 匹配后跟特定字符串z的任何字符串 |
?!z | 匹配任何后面没有特定字符串z的字符串 |
下表列出了RegExp对象的属性:
属性 | 描述 |
---|---|
constructor | 返回创建RegExp对象原型的函数 |
global | 检查是否设置了“g”修饰符 |
ignoreCase | 检查是否设置了“i”修饰符 |
lastIndex | 开始下一个匹配的索引 |
multiline | 检查是否设置了“m”修饰符 |
source | 返回RegExp模式的文本 |
下表列出了RegExp对象的方法:
方法 | 描述 |
---|---|
exec() | 搜索其字符串参数中的匹配项 |
test() | 测试其字符串参数是否匹配并返回布尔值 |
toString() | 返回表示指定对象的字符串 |