正则表达式不匹配的括号与双方括号

时间:2018-03-12 23:28:34

标签: regex regex-group

我正在寻找逃避我尝试了很多,但没有工作这是一个发现信用卡的正则表达但我不能把它分组,所以可以检查它的长度

这是正则表达式

for(i=0; i < 2; ++i)
{
    if((pid[i] = fork()) == -1) {
        perror("Erreur lors de la creation du fils ");
        exit(EXIT_FAILURE);
    }

    if(pid[i] == 0)
    {
        if(i == 0)
            execution1(argve);
        else
            execution2(argve);

        // exiting child
        exit(0);
    }

}

// waiting
for(i=0; i < 2; ++i)
{
    if(waitpid(pid[i], NULL, 0) == -1) {
        perror("Erreur lors de l'attente de la fin du processus ");
        exit(EXIT_FAILURE);
    }
}

链接:https://regex101.com/r/yEEpDt/1

1 个答案:

答案 0 :(得分:0)

如果您只想匹配16位数字,则不得多,不能少于 并且号码必须以您的一个组合开头,
这是做到这一点的方法。

使用先行断言来验证长度,
然后正常匹配。

https://regex101.com/r/qo2cOL/1

^(?=\d{16}$)(6011|65|64[4-9]|622)(\d{1,14})$

扩展

 ^ 
 (?= \d{16} $ )
 (                             # (1 start)
      6011
   |  65
   |  64 [4-9] 
   |  622 
 )                             # (1 end)
 ( \d{1,14} )                  # (2) or even just a \d* will do here
 $