JavaScript 正则表达式完全指南

需积分: 10 0 下载量 151 浏览量 更新于2024-08-05 收藏 5KB MD 举报
"JavaScript 正则表达式使用详细" JavaScript中的正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配、查找、替换和分割等操作。它们由正则表达式字面量(//)或`RegExp`构造函数创建,并支持一系列特殊字符和标志来增强其功能。 1. **转义字符 `\`** 转义字符`\`用来在正则表达式中表示特殊字符的字面含义。例如,`\n`表示一个换行符,`\t`表示制表符,而`\"`则表示双引号本身而不是字符串结束。 ```javascript var str = "abc\"dfe"; // ---> "abc"dfe" var str = "abc\\dfe"; // ---> "abc\def" var str = "abc\ndfe"; // ---> "abc // def"(换行功能=回车) ``` 2. **多行字符串与字符串换行符 `\n`** 在字符串中,`\n`代表一个换行符。在正则表达式中,使用`m`标志可以使`.`匹配包括换行在内的任何字符,实现多行匹配。 3. **RegExp对象方法** - `compile()`:编译正则表达式,提高执行效率,但JavaScript引擎通常会自动优化。 - `exec()`:在字符串中查找匹配项,返回一个结果数组,包含匹配的内容及其位置信息。 - `test()`:检查字符串是否匹配某个模式,返回`true`或`false`。 4. **支持正则表达式的String对象的方法** - `match(reg)`:返回一个数组,包含与正则表达式匹配的所有子串。 - `search(reg)`:返回第一个匹配项的索引,找不到则返回`-1`。 - `replace(reg, '替换的内容')`:替换匹配的文本,可以使用回调函数动态生成替换内容。 - `split(reg)`:根据正则表达式将字符串分割成数组。 5. **正则表达式标志** - `i`:忽略大小写。 - `g`:全局匹配,找到所有匹配项。 - `m`:多行模式,`^`匹配行首,`$`匹配行尾。 6. **创建正则表达式** - 直接量:`/pattern/flags`,如`/abc/i`。 - `RegExp`构造函数:`new RegExp('pattern', 'flags')`。 7. **方括号 `[ ]` 的作用** - `[abc]`:匹配任何一个在括号内的字符。 - `[^abc]`:匹配任何一个不在括号内的字符。 - 特殊字符集:`[0-9]`(数字),`[a-z]`(小写字母),`[A-Z]`(大写字母),`[A-Za-z]`(字母)。 8. **元字符** - `.`:匹配除换行符外的任何字符。 - `^`:在方括号内表示否定,在正则开始表示行首,在正则结束表示行尾。 - `$`:表示行尾。 - `\d`:等价于`[0-9]`,匹配数字。 - `\D`:等价于`[^0-9]`,匹配非数字。 - `\w`:等价于`[a-zA-Z0-9_]`,匹配单词字符。 - `\W`:等价于`[^a-zA-Z0-9_]`,匹配非单词字符。 掌握这些基础知识后,你就可以在JavaScript中高效地处理字符串,进行复杂的模式匹配和替换操作了。记得在实际应用中灵活运用这些特性,解决各种文本处理问题。