如何检查一个字符串是否包含字母s后面跟着两个未知字母,并以1结尾


How to check if one string contains the letter s followed by two unknown letters and ended with 1

如何在php中检查?

$var1 = "pluto_saa1";
$var2 = "pluto_sab1";
$var3 = "pluto_sac1";
$var4 = "pluto_sad1";
$var5 = "pluto_test";

例如var1, var2,…var5包含s后面跟着两个未知字母,以1结尾,但var5包含不希望的内容。

你能帮我吗?

应该可以了:

/s[a-zA-Z]{2}1/

你可以使用这个正则表达式

/s[a-zA-Z]{2}1/

[a-zA-Z]将匹配单个大写或小写字母

{n}是与前面的模式匹配n次的量词

试试这个

$patterns = '/pluto_s(.*?)1/is';
$var1 = "pluto_saa1";
$var2 = "pluto_sab1";
$var3 = "pluto_sac1";
$var4 = "pluto_sad1";
$var5 = "pluto_test";
$array = array($var1, $var2, $var3, $var4, $var5);
foreach($array as $data)
{
    if( preg_match($patterns, $data, $matches))
    {
        var_dump($matches);
    }
}

这将输出

array (size=2)
  0 => string 'pluto_saa1' (length=10)
  1 => string 'aa' (length=2)
array (size=2)
  0 => string 'pluto_sab1' (length=10)
  1 => string 'ab' (length=2)
array (size=2)
  0 => string 'pluto_sac1' (length=10)
  1 => string 'ac' (length=2)
array (size=2)
  0 => string 'pluto_sad1' (length=10)
  1 => string 'ad' (length=2)
function check_str($str) {
    $pattern="%_s+[a-z]{2}1$%";

if(preg_match($pattern,$str)) {
    echo 'ok';

}
}
check_str($var1);