JavaScript RegExp 参考
RegExp 对象
正则表达式是字符的模式。
该模式用于在字符串中搜索和替换字符。
RegExp 对象是带有附加属性和方法的正则表达式。
语法
/pattern/modifier(s);
示例说明
| w3schools | 要搜索的模式 |
|---|---|
| /w3schools/ | 一个正则表达式 |
| /w3schools/i | 一个不区分大小写的正则表达式 |
有关正则表达式的教程,请阅读我们的 JavaScript RegExp 教程。
浏览器支持
/regexp/ 是 ECMAScript1 (ES1) 功能。
ES1 (JavaScript 1997) 在所有浏览器中都得到完全支持
| Chrome | Edge | Firefox | Safari | Opera | IE |
| 是 | 是 | 是 | 是 | 是 | 是 |
修饰符
修饰符定义如何执行搜索
| 修饰符 | 描述 |
|---|---|
| /g | 执行全局匹配(查找所有) |
| /i | 执行不区分大小写的匹配 |
| /m | 执行多行匹配 |
方括号
方括号用于查找一组字符
| 方括号 | 描述 |
|---|---|
| [abc] | 查找括号内的任何字符 |
| [^abc] | 查找括号外的任何字符 |
| [0-9] | 查找括号内的任何字符(任何数字) |
| [^0-9] | 查找括号外的任何字符(任何非数字) |
| (x|y) | 查找指定的任何一个替代项 |
元字符
元字符是具有特殊含义的字符
| 字符 | 描述 |
|---|---|
| . | 查找单个字符,但不包括换行符或行终止符 |
| \w | 查找单词字符 |
| \W | 查找非单词字符 |
| \d | 查找数字 |
| \D | 查找非数字字符 |
| \s | 查找空白字符 |
| \S | 查找非空白字符 |
| \b | 在单词的开头/结尾查找匹配,例如:\bHI,结尾:HI\b |
| \B | 查找匹配,但不在单词的开头/结尾 |
| \0 | 查找 NULL 字符 |
| \n | 查找换行符 |
| \f | 查找换页符 |
| \r | 查找回车符 |
| \t | 查找制表符 |
| \v | 查找垂直制表符 |
| \xxx | 查找由八进制数 xxx 指定的字符 |
| \xdd | 查找由十六进制数 dd 指定的字符 |
| \udddd | 查找由十六进制数 dddd 指定的 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 对象属性
| 属性 | 描述 |
|---|---|
| constructor | 返回创建 RegExp 对象原型的函数 |
| global | 检查是否设置了“g”修饰符 |
| ignoreCase | 检查是否设置了“i”修饰符 |
| lastIndex | 指定开始下一个匹配的索引 |
| multiline | 检查是否设置了“m”修饰符 |
| source | 返回 RegExp 模式的文本 |
RegExp 对象方法
| 方法 | 描述 |
|---|---|
| compile() | 版本 1.5 中已弃用。 编译正则表达式 |
| exec() | 测试字符串中的匹配。返回第一个匹配项 |
| test() | 测试字符串中的匹配。返回 true 或 false |
| toString() | 返回正则表达式的字符串值 |