📜  JavaScript |正则表达式 * 量词(1)

📅  最后修改于: 2023-12-03 14:42:29.246000             🧑  作者: Mango

JavaScript | 正则表达式量词

在 JavaScript 中,正则表达式量词用于控制匹配模式的重复次数。下面介绍常用的正则表达式量词。

1. '*' 量词

* 表示匹配前一个字符 0 次或多次。

例如,正则表达式 /ba*/ 匹配 0 个或多个字母 a 开头的字符串:

const str1 = 'banana';
console.log(str1.match(/ba*/)); // 输出["b"]
 
const str2 = 'apple';
console.log(str2.match(/ba*/)); // 输出 null
2. '+' 量词

+ 表示匹配前一个字符 1 次或多次。

例如,正则表达式 /ba+/ 匹配 1 个或多个字母 a 开头的字符串:

const str1 = 'banana';
console.log(str1.match(/ba+/)); // 输出["ba"]
 
const str2 = 'apple';
console.log(str2.match(/ba+/)); // 输出 null
3. '?' 量词

? 表示匹配前一个字符 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"]
4. '{n}' 量词

{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
5. '{n,}' 量词

{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
6. '{n,m}' 量词

{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 中常用的正则表达式量词。通过合理的运用,它们能够大大提高开发效率。