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() | 返回正则表达式的字符串值 |