Perl 面试题
目录

Perl 中正则表达式的量词 (Quantifier) 有哪些?

· 约 2 分钟读完 · 第 68 / 182 章

推荐答案

在 Perl 中,正则表达式的量词用于指定匹配模式中某个元素出现的次数。常见的量词包括:

  • *:匹配前面的元素零次或多次。
  • +:匹配前面的元素一次或多次。
  • ?:匹配前面的元素零次或一次。
  • {n}:匹配前面的元素恰好 n 次。
  • {n,}:匹配前面的元素至少 n 次。
  • {n,m}:匹配前面的元素至少 n 次,但不超过 m 次。

本题详细解读

1. * 量词

* 量词表示前面的元素可以出现零次或多次。例如,正则表达式 /a*/ 可以匹配空字符串、a、aa、aaa 等。

2. + 量词

+ 量词表示前面的元素必须出现一次或多次。例如,正则表达式 /a+/ 可以匹配 a、aa、aaa 等,但不能匹配空字符串。

3. ? 量词

? 量词表示前面的元素可以出现零次或一次。例如,正则表达式 /a?/ 可以匹配空字符串或 a。

4. {n} 量词

{n} 量词表示前面的元素必须恰好出现 n 次。例如,正则表达式 /a{3}/ 只能匹配 aaa。

5. {n,} 量词

{n,} 量词表示前面的元素必须至少出现 n 次。例如,正则表达式 /a{2,}/ 可以匹配 aa、aaa、aaaa 等。

6. {n,m} 量词

{n,m} 量词表示前面的元素必须至少出现 n 次,但不超过 m 次。例如,正则表达式 /a{2,4}/ 可以匹配 aa、aaa 或 aaaa,但不能匹配 a 或 aaaaa。

这些量词在 Perl 的正则表达式中非常常用,能够帮助开发者精确控制匹配的模式。