正则表达式中一个非常重要的概念是匹配字符出现的次数。例如,假设您需要匹配一个数字输入框,用户可能输入任意长度的数字,比如“15”或者“15000”,数字长度不固定。
为了表达这种金额格式,正则表达式中有两个非常重要的量词:Kleene Star 和 Kleene Plus。它们分别表示前面的字符或字符组出现的次数范围。
Kleene Star(*)表示字符可以出现 零次或多次,也就是说这个字符可以不存在,也可以出现很多次;
Kleene Plus(+)表示字符至少出现 一次或多次,也就是说字符至少要出现一次。
例如,要匹配任意数量的数字,您可以使用 \d*
,这表示数字可以出现零次或多次;但如果想确保输入至少有一个数字,则应使用更严格的 \d+
。
这两个量词可以与任何字符或特殊元字符结合使用,例如:
a+
表示一个或多个字母 a,
[abc]+
表示由字母 a、b 或 c 组成的一个或多个字符,
.*
表示任意字符出现零次或多次。
下面是一些简单的字符串,您可以使用星号和加号这两个元字符来进行匹配练习。