📅  最后修改于: 2023-12-03 14:42:29.434000             🧑  作者: Mango
正则表达式是一种用来匹配和处理字符串的强大工具。在 JavaScript 中,我们可以使用正则表达式来快速搜索、替换、分割、提取字符串中的数据等。正则表达式由特殊字符和普通字符组成,量词就是其中的一种特殊字符。
量词表示其前面的字符或子表达式可以出现的次数。例如,正则表达式 a{3}
表示匹配 3 个连续的小写字母 a。在 JavaScript 中,我们可以使用以下几种量词:
{n}
,表示其前面的字符或子表达式恰好出现 n 次。{n,}
,表示其前面的字符或子表达式至少出现 n 次。{n,m}
,表示其前面的字符或子表达式出现次数在 n 和 m 之间(包括 n 和 m)。量词应该紧跟在需要重复的内容后面,否则无法生效。
默认情况下,量词是贪婪的,也就是说,它们会尽可能匹配更多的字符。例如,正则表达式 a+
会匹配任意数量的连续小写字母 a,包括整个字符串。如果需要非贪婪匹配,我们可以在量词后面加上 ?
,例如 a+?
。
const str = 'aaaaaab';
const reg1 = /a{2}/g; // 匹配两个连续的 a
const reg2 = /a{2,}/g; // 至少匹配两个连续的 a
const reg3 = /a{2,5}/g; // 匹配两到五个连续的 a
console.log(str.match(reg1)); // ['aa']
console.log(str.match(reg2)); // ['aaaaaa']
console.log(str.match(reg3)); // ['aaaaa']
以上代码示例演示了如何使用 {}
量词匹配字符串中的内容,并返回匹配结果。注意,在使用全局匹配模式时,match()
方法会返回所有匹配结果的数组,否则只返回第一个匹配结果。