📅  最后修改于: 2023-12-03 14:42:29.246000             🧑  作者: Mango
在 JavaScript 中,正则表达式量词用于控制匹配模式的重复次数。下面介绍常用的正则表达式量词。
*
表示匹配前一个字符 0 次或多次。
例如,正则表达式 /ba*/
匹配 0 个或多个字母 a 开头的字符串:
const str1 = 'banana';
console.log(str1.match(/ba*/)); // 输出["b"]
const str2 = 'apple';
console.log(str2.match(/ba*/)); // 输出 null
+
表示匹配前一个字符 1 次或多次。
例如,正则表达式 /ba+/
匹配 1 个或多个字母 a 开头的字符串:
const str1 = 'banana';
console.log(str1.match(/ba+/)); // 输出["ba"]
const str2 = 'apple';
console.log(str2.match(/ba+/)); // 输出 null
?
表示匹配前一个字符 0 次或 1 次。
例如,正则表达式 /ba?n/
匹配 0 个或 1 个字母 a 开头,后面跟着字母 n 的字符串:
const str1 = 'banana';
console.log(str1.match(/ba?n/)); // 输出["ban"]
const str2 = 'bin';
console.log(str2.match(/ba?n/)); // 输出["b"]
{n}
表示匹配前一个字符恰好出现 n 次。
例如,正则表达式 /ba{2}n/
匹配 2 个字母 a 开头,后面跟着字母 n 的字符串:
const str1 = 'baanana';
console.log(str1.match(/ba{2}n/)); // 输出["baan"]
const str2 = 'banana';
console.log(str2.match(/ba{2}n/)); // 输出 null
{n,}
表示匹配前一个字符至少出现 n 次。
例如,正则表达式 /ba{2,}n/
匹配 2 个或更多个字母 a 开头,后面跟着字母 n 的字符串:
const str1 = 'baaaanana';
console.log(str1.match(/ba{2,}n/)); // 输出["baaaan"]
const str2 = 'banana';
console.log(str2.match(/ba{2,}n/)); // 输出 null
{n,m}
表示匹配前一个字符出现至少 n 次,最多 m 次。
例如,正则表达式 /ba{2,3}n/
匹配 2 个或 3 个字母 a 开头,后面跟着字母 n 的字符串:
const str1 = 'baaaanana';
console.log(str1.match(/ba{2,3}n/)); // 输出["baaan"]
const str2 = 'banana';
console.log(str2.match(/ba{2,3}n/)); // 输出 null
以上是 JavaScript 中常用的正则表达式量词。通过合理的运用,它们能够大大提高开发效率。