Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 具有多个条件的不同模式的正则表达式_Regex_Multiple Conditions - Fatal编程技术网

Regex 具有多个条件的不同模式的正则表达式

Regex 具有多个条件的不同模式的正则表达式,regex,multiple-conditions,Regex,Multiple Conditions,我正在寻找一个完全不同条件的正则表达式。我的表情要求- 总长度必须为6、7或8个字符 必须包含间距(空格字符) 内部代码(间隙右侧的部分)必须始终为3个字符 输入代码的第一个字符必须是数字 内部代码的第二个和第三个字符必须是alpha 外部代码(间隙左侧的部分)可以是2、3或4个字符 外部代码的第一个字符必须是alpha 我需要这样的表达式-BH6 5BG或b6 7ba或CH11 2ab 字母表可以是小写或大写,第一个字符应该是字母表,空格后允许有三个字符,其中第一个字符应该是数字 我制作了只包

我正在寻找一个完全不同条件的正则表达式。我的表情要求-

  • 总长度必须为6、7或8个字符
  • 必须包含间距(空格字符)
  • 内部代码(间隙右侧的部分)必须始终为3个字符
  • 输入代码的第一个字符必须是数字
  • 内部代码的第二个和第三个字符必须是alpha
  • 外部代码(间隙左侧的部分)可以是2、3或4个字符
  • 外部代码的第一个字符必须是alpha
  • 我需要这样的表达式-BH6 5BG或b6 7ba或CH11 2ab

    字母表可以是小写或大写,第一个字符应该是字母表,空格后允许有三个字符,其中第一个字符应该是数字

    我制作了只包含第一个条件的正则表达式-
    ^(\d{6}\d{7}\d{8})$


    我对正则表达式很困惑。有人能帮我建立适用于上述条件的正则表达式吗?

    我相信这将为您提供帮助:

    ^[a-zA-Z][a-zA-Z0-9]{1,3} \d[a-zA-Z]{2}$
    
    相配

    • ^
      行的开头
    • [a-zA-Z]
      字母字符-大写或小写
    • [a-zA-Z0-9]{1,3}
      字母字符(大写或小写)或数字,重复1-3次
    • 空格
    • \d
      一个数字
    • [a-zA-Z]{2}
      字母字符-大写或小写-重复2次
    • $
      行尾

    .

    我相信这会为您带来好处:

    ^[a-zA-Z][a-zA-Z0-9]{1,3} \d[a-zA-Z]{2}$
    
    相配

    • ^
      行的开头
    • [a-zA-Z]
      字母字符-大写或小写
    • [a-zA-Z0-9]{1,3}
      字母字符(大写或小写)或数字,重复1-3次
    • 空格
    • \d
      一个数字
    • [a-zA-Z]{2}
      字母字符-大写或小写-重复2次
    • $
      行尾
    .

    我会用这个:

    /^[a-z].{1,3}\s\d[a-z]{2}$/i
    
    细分:

    ^                               #start of line
     [a-z]                          #alpa
          .{1,3}                    #from 1 to 3 of any char
                \s                  #a whitespace char
                  \d                #a digit
                    [a-z]{2}        #2 of any aplha
                            $       #end of line
                             i      #case insensitive
    
    我会用这个:

    /^[a-z].{1,3}\s\d[a-z]{2}$/i
    
    细分:

    ^                               #start of line
     [a-z]                          #alpa
          .{1,3}                    #from 1 to 3 of any char
                \s                  #a whitespace char
                  \d                #a digit
                    [a-z]{2}        #2 of any aplha
                            $       #end of line
                             i      #case insensitive
    

    以下正则表达式应该可以工作:

    ^[A-Za-z][A-Za-z\d]{1,3}\s\d[A-Za-z]{2}$
    

    以下正则表达式应该有效:

    ^[A-Za-z][A-Za-z\d]{1,3}\s\d[A-Za-z]{2}$
    

    (?i)
    -->因为字母表可以是小写或大写

    \\s
    -->仅用于一个空格/间隙

    *我已经用Java检查过了

    (?i)
    -->因为字母表可以是小写或大写

    \\s
    -->仅用于一个空格/间隙



    *我已经使用Java进行了检查。

    请根据您的模式要求提供一个可接受字符串的示例。我添加了示例表达式@请根据您的模式要求提供一个可接受字符串的示例。我添加了示例表达式@Dhaval@ClasG因此使用了
    i
    修饰符,因此正则表达式不区分大小写。所以你假设它是javascript,或者…?@ClasG好吧,OP没有提到所使用的语言,所以PCRE表达式对我来说没问题。我的观点是,不同的语言有不同的方式设置不区分大小写的标志。并不是所有语言都使用
    /…/
    表达正则表达式。我只是说,为了更一般化,正如问题所示,您的答案不应该假设与语言相关。@ClasG PCRE(Perl兼容正则表达式)本身就是一种规范,可能是使用最多的。因此,对于没有特定语言标记的一般性问题,用这种符号来回答是有意义的。(简而言之,我只知道python和javascript不能使用“纯”PCRE语法)@ClasG因此使用了
    I
    修饰符,所以正则表达式不区分大小写。所以你假设它是javascript,或者…?@ClasG好吧,OP没有提到所使用的语言,所以PCRE表达式对我来说听起来没问题。我的观点是,不同的语言有不同的设置不区分大小写标志的方法。并不是所有语言都使用
    /…/
    表达正则表达式。我只是说,为了更一般化,正如问题所示,您的答案不应该假设与语言相关。@ClasG PCRE(Perl兼容正则表达式)本身就是一种规范,可能是使用最多的。因此,对于没有特定语言标记的一般性问题,用这种符号来回答是有意义的。(简而言之,我只知道python和javascript不能使用“纯”PCRE语法)我在问题中添加了更多示例。你能帮我实现这个目标吗?我测试了你问题中的所有3个例子,而且都有效。我在问题中添加了更多的例子。你能帮我实现吗?我测试了你问题中的所有3个示例,效果很好。我更详细地阐述了我的要求,你能帮我@ClasGI感到困惑-我相信我的正则表达式满足了你的所有要求。我更详细地阐述了我的要求,您能帮忙吗@ClasGI很困惑-我相信我的正则表达式满足了您的所有要求。@Tensibai对此表示感谢。@Tensibai对此表示感谢。