目录
- 一、概念
- 二、修饰符
- 三、元字符
- 1. . (匹配非换行符\n的任意一个字符)
- 2. \d (匹配数字)
- 3. \D (匹配除数字以外的所有字符)
- 4. \w (匹配英文字母、数字和下划线_)
- 5. \W (匹配除英文字母、数字和下换线_以外的所有字符)
- 6. \s (匹配空格和tab制表符)
- 7. \S (匹配除空格和tab制表符以外的所有字符)
- 8. \b (匹配整个字符串的首尾边界)
- 9. \B (匹配整个字符串的除首尾边界以外的边界)
- 10. \ (转义字符,把有意义的符号转换成没有意义的符号,把没有意义的转换成有意义的)
- 11. ^ (开始标识符,在集合字符[]里为取非的意义,如[0-9]表示不包含0-9的数字)
- 12. $ (结束标识符)
- 13. \E (结束\L或\U转换)、\L (把\L到\E之间的字符全部转换为小写)、\U (把\U到\E之间的字符全部转换为大写) (JavaScript不支持)
- 14. \l (把下一个字符转换为小写)、\u (把下一个字符转换为大写) (JavaScript不支持)
- 四、限定符
- 五、特殊符号
- 六、正则表达式的属性
- 七、正则表达式的方法
- 八、常用的配合正则的字符串方法
- 九、常用的正则表达式
一、概念
正则表达式(Regular Expression, 规则表达式):使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式,可用于文本搜索和文本替换。
简称:
- Regex
- RegExp
- RE
- Reg
- Pattern
- 模式
- 正则
JavaScript的正则语法:/正则表达式主体/修饰符(可选)
JavaScript创建一个正则表达式
const string = "123";
//示例1 字面量创建
const regex1 = /\d+/; // 正则表达式形式
const regex2 = "12"; // 字符串形式
console.log(string.match(regex1)); // 输出:["123"]
console.log(string.match(regex2)); // 输出:["12"]
//示例2 构造函数创建
const regex3 = new RegExp(/\d+/); // 正则表达式形式
const regex4 = new RegExp("12"); // 字符串形式
console.log(string.match(regex3)); // 输出:["123"]
console.log(string.match(regex4)); // 输出:["12"]
二、修饰符
1. g (global, 全局)
在字符串中查找所有匹配项,而不仅仅是第一个匹配项
//示例
const string = "AaAa";
const regex1 = /a/;
const regex2 = /a/g;
console.log(string.match(regex1)); // 输出:["a"]
console.log(string.match(regex2)); // 输出:["a", "a"]
2. i (ignore case, 不区分大小写)
在匹配时忽略大小写
//示例
const string = "A";
const regex1 = /a/;
const regex2 = /a/i;
console.log(string.match(regex1)); // 输出:null
console.log(string.match(regex2)); // 输出:["A"]
3. m (multi-line, 多行)
使元字符中开始标识符(^)和结束标识符($)可以在每一行的开始和结束处匹配,而不仅仅在整个字符串的开始和结束处,即可以同时匹配每一行的内容,而不仅仅是整个字符串
const string = "a\nA";
// 示例1
const regex1 = /^A/;
const regex2 = /^A/m;
console.log(string.match(regex1)); // 输出:null
console.log(string.match(regex2)); // 输出:["A"]
// 示例2
const regex3 = /a$/;
const regex4 = /a$/m;
console.log(string.match(regex3)); // 输出:null
console.log(string.match(regex4)); // 输出:["a"]
4. s (single-line, 单行)
使元字符点号(.)可以匹配包括换行符在内的所有字符,默认情况下的元字符点号(.)不匹配换行符
//示例
const string = "a\nA";
const regex1 = /.+/;
const regex2 = /.+/s;
console.log(string.match(regex1)); // 输出:["a"]
console.log(string.match(regex2)); // 输出:["a\nA"]
5. u (Unicode, Unicode字符)
使正则表达式可以正确处理Unicode字符,\u{} 可以用来表示一个Unicode代码点
//示例1
const string1 = "
标签:输出,console,log,示例,正则表达式,JavaScript,const,match
From: https://www.cnblogs.com/wjy-javascript/p/18009447