正则表达式(Regular Expression)是一种强大的文本处理工具,它使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在 JavaScript 中,正则表达式通常用于字符串的搜索、替换和分割等操作。
[]
表示,匹配方括号内的任意一个字符。*
(匹配前面的子表达式零次或多次)、+
(一次或多次)、?
(零次或一次)等。.
(匹配除换行符外的任意字符)、\d
(匹配数字)、\w
(匹配字母、数字或下划线)等。在 JavaScript 中,.
(句点)是一个元字符,用于匹配除换行符 \n
之外的任意单个字符。如果你想匹配包括换行符在内的任意字符,可以使用 [\s\S]
或者 .
(在多行模式下)。
// 匹配除换行符外的任意字符
let regex1 = /.+/;
console.log("abc".match(regex1)); // 输出: ["abc", index: 0, input: "abc", groups: undefined]
// 匹配包括换行符在内的任意字符
let regex2 = /[\s\S]+/;
console.log("abc\n123".match(regex2)); // 输出: ["abc\n123", index: 0, input: "abc\n123", groups: undefined]
?
使量词变为非贪婪模式,如 .*?
表示匹配任意字符零次或多次,但尽可能少地匹配。let text = "<div>abc</div><div>123</div>";
let regex = /<div>.*?<\/div>/g;
console.log(text.match(regex)); // 输出: ["<div>abc</div>", "<div>123</div>"]
.
不匹配换行符 \n
。[\s\S]
或启用多行模式(m
标志)。let text = "abc\n123";
let regex = /[\s\S]+/g;
console.log(text.match(regex)); // 输出: ["abc\n123"]
总之,正则表达式是 JavaScript 中强大的文本处理工具,掌握其基础概念和用法对于提高编程效率具有重要意义。
领取专属 10元无门槛券
手把手带您无忧上云