正则表达式是形成搜索模式的一系列字符。
在文本中搜索数据时,可以使用此搜索模式来描述要搜索的内容。
正则表达式可以是单个字符,也可以是更复杂的模式。
正则表达式是描述字符模式的对象。
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对象的属性:
| 属性 | 描述 |
|---|---|
| 返回创建RegExp对象原型的函数 | |
| 检查是否设置了“g”修饰符 | |
| 检查是否设置了“i”修饰符 | |
| 开始下一个匹配的索引 | |
| 检查是否设置了“m”修饰符 | |
| 返回RegExp模式的文本 |
下表列出了RegExp对象的方法:
| 方法 | 描述 |
|---|---|
| 搜索其字符串参数中的匹配项 | |
| 测试其字符串参数是否匹配并返回布尔值 | |
| 返回表示指定对象的字符串 |