2023 © RegexOne
邮箱 | 推特
正则表达式中一个强大的概念是能够匹配任意数量的字符。例如,假设您编写了一个表单,其中包含一个以美元为单位的捐赠字段。一位富有的用户可能会光临并想要捐赠 25,000 美元,而普通用户可能想要捐赠 25 美元。
表达这种模式的一种方法是使用所谓的克莱尼星号和克莱尼加号,它们本质上表示其后字符的零个或多个或一个或多个(它始终跟随一个字符或组)。例如,要匹配上面的捐赠,我们可以使用模式\d*来匹配任意数量的数字,但更严格的正则表达式将是\d+,它确保输入字符串至少包含一个数字。
这些量词可以与任何字符或特殊元字符一起使用,例如a+(一个或多个 a),[abc]+(一个或多个 a、b 或 c 字符)和.*(零个或多个任何字符)。
下面是一些您可以使用星号和加号元字符匹配的简单字符串。
任务 | 文本 | |
匹配 | aaaabcc | |
匹配 | aabbbbc | |
匹配 | aacc | |
跳过 | a |
解答 | 每行至少有两个“a”,零个或多个“b”,以及至少一个“c”需要匹配,因此您可以使用表达式“aa+b*c+”来精确表示这一点。 或者,一个更严格的表达式将是a{2,4}b{0,4}c{1,2},它对每个字符的数量都设置了上限和下限。 |