我正在寻找执行以下操作的正则表达式
匹配以4个空格开头的字符串,后跟至少5个字符,然后是数字
示例
____Minera 123456789
到目前为止,这是我的代码
<?php
$x=" Minera 34";
if(preg_match("@\w{6}+\d@i",$x))
{echo "match found";}
else
{echo "no match";}
?>
但它不适合我。有任何想法吗?感谢。
答案 0 :(得分:1)
如果你想要一个需要四个空格的图案,那么需要至少五个字母A-Z和/或a-z,然后需要一个空格,然后需要一个或多个数字,然后试试这个:
@^ {4}([A-Za-z]{5,}) ([0-9]+)$@
括号()
包围字母和数字部分,因此您可以单独从匹配中取出这些,但如果您不需要从匹配中提取这些部分,请删除括号。< / p>
答案 1 :(得分:0)
要匹配描述的字符串(4个空格,然后至少5个字符和数字),您可以使用此正则表达式:
/^\s{4}[a-z]{5,}\d+$/i
但是在你的例子&#34; ____ Minerva 123456789&#34;中,你在字符和数字之间有一个额外的空格。因此,如果您需要与您的示例匹配的正则表达式,则可以使用以下表达式:
/^\s{4}[a-z]{5,}\s*\d+$/i
希望这有帮助。
答案 2 :(得分:-1)
你的正则表达式模式与开头的字符串和空格的开头不匹配
试试这个
@^\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";}
?>
查看正在使用的正则表达式