PHP Regex не соответствует

1

Мне нужно увидеть, содержит ли вход пара id. Я попытался проверить, действительно ли мой preg_match.

$regex = "/^STEAM_0:[01]:[0-9]{7,8}$/";
if(preg_match($regex, 'STEAM_0:1:38401525'))
{ 
echo 'OK'; } else {echo 'ERROR';}

Я попробовал это в онлайн-инструменте https://regex101.com/r/nI0kQ7/1

Что не так? Почему это всегда дает мне "ОШИБКУ"?

  • 2
    Это работает , но в зависимости от версии PHP, вам может понадобиться добавить $matches . Попробуйте использовать if(preg_match($regex, 'STEAM_0:1:38401525', $matches)) . См. Ideone.com/k492KV
  • 0
    $regex = "/^STEAM_0:[01]:[0-9]{7,8}$/"; preg_match($regex, 'STEAM_1:1:38399475', $matches); if($matches) { echo 'OK'; }else {echo 'ERROR';} Это все еще ERROR
Показать ещё 1 комментарий
Теги:
steam

2 ответа

1

Я проверил ваш код, и он отлично работает, вот фрагмент кода

$regex = "/^STEAM_0:[01]:[0-9]{7,8}$/";
if(preg_match($regex, 'STEAM_0:1:38401525', $match))
{ 
    echo 'OK'.PHP_EOL; 
    print_r($match); 
} else {
    echo 'ERROR';
}

и это приводит к

OK
Array
(
    [0] => STEAM_0:1:38401525
)

Ознакомьтесь с этой Demo где код находится в действии

и вот вам regexr в действии.

0

Ваш код хорошо я был тестом на PHP версии 5.2 здесь и дать мне КИ, проверьте PHP компилятор или maiby своего кода целостности в.

Я не могу сохранить свой код оттуда, но добавьте свой код вопроса для проверки:

$regex = "/^STEAM_0:[01]:[0-9]{7,8}$/";
if(preg_match($regex, 'STEAM_0:1:38401525'))
{ 
echo 'OK'; } else {echo 'ERROR';}
  • 0
    Ссылка на пустой тестер. Пожалуйста, оставьте свой код в своем ответе, и если вы хотите включить ссылку, убедитесь, что она действительна.
  • 0
    добавьте свой код из вашего вопроса $regex = "/^STEAM_0:[01]:[0-9]{7,8}$/"; if(preg_match($regex, 'STEAM_0:1:38401525')) { echo 'OK'; } else {echo 'ERROR';} => 'OK'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню