Regexp 匹配以 4 个空格开头的字符串,后跟 5 个字符和数字


Regexp to match a string starting with 4 spaces followed by 5 characters and numbers

我正在寻找执行以下操作的正则表达式

匹配以 4 个空格开头,后跟至少 5 个字符,然后是数字的字符串

   ____Minera 123456789

到目前为止,这是我的代码

    <?php
   $x="    Minera 34";
   if(preg_match("@'w{6}+'d@i",$x))
    {echo "match found";}
   else
  {echo "no match";}
   ?>

但它对我不起作用。 有什么想法吗? 谢谢。

如果你想要一个需要四个空格的模式,那么至少需要五个字母 A-Z 和/或 a-z,然后需要一个空格,然后需要一个或多个数字,那么试试这个:

@^ {4}([A-Za-z]{5,}) ([0-9]+)$@

括号()环绕字母和数字部分,以便您可以分别从匹配项中获取这些部分,但如果不需要从匹配中提取这些部分,请删除括号。

要匹配描述的字符串(4 个空格,然后是至少 5 个字符和数字),您可以使用以下正则表达式:

/^'s{4}[a-z]{5,}'d+$/i

但是在您的示例"____Minerva 123456789"中,字符和数字之间有一个额外的空格。因此,如果您需要与您的示例匹配的正则表达式,则可以使用这个:

/^'s{4}[a-z]{5,}'s*'d+$/i

希望这有帮助。

您的正则表达式模式与字符串开头和开头的空格不匹配

试试这个

 @^'s{4}+'w{6}+'s+'d@

重写

    <?php
   $x="    Minera 34";
   if(preg_match("@^'s{4}+'w{6}+'s+'d@",$x))
    {echo "match found";}
   else
  {echo "no match";}
   ?>

查看正则表达式的实际应用

https://eval.in/300405