为此正则表达式添加最小字符

时间:2014-01-29 00:00:58

标签: c++ regex

我目前有以下正则表达式

".*[0-9].*"

以上内容确保文本中包含数字。我还想添加最小长度的条件,它说8个字符。如何在上面的表达式中添加另一个条件,确保文本中至少有8个字符?

2 个答案:

答案 0 :(得分:1)

检查最小和最大元素的正则表达式如下

{2}    contains 2 element 
{2,5}  contains 2 to 5 element 
{2,}   contains 2 or more 

您还可以查看此PDF文件以获取更多信息

祝你好运

答案 1 :(得分:1)

解决方案

在捕获字符串之前,您可以使用正向前瞻来验证字符串。


正则表达式

(?=^.{8,}$)(?=^.*\d)^.*$


说明

正向前瞻的语法如下:(?=REGEX)

在上面的正则表达式中,我在第一个 Lookahead中指定了^.{8,}$。这意味着字符串必须从头到尾具有8个字符的MINIMUM,以便通过验证。

第二次正向前瞻^.*\d。这意味着字符串可以以任何字符开头,但字符串中必须有一个数字,否则它将不会通过验证。

最后一点只是“匹配所有内容”^.*$,因为如果它通过了初始验证,那么我们就想捕获它。


示范

Regex101 Example