我正在寻找执行以下操作的正则表达式
匹配以 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