Задать вопрос
@Triglav77

Почему неверно работает запрос?

Есть регулярное выражение, но странно работает неверно

if(preg_match("/^Petersburg/", "Saint Petersburg")){
	echo "Питер";
}else{
	echo "Москва";
}


всегда выводит Москва. В чем ошибка
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@shevchenko__k
Помогаю новорожденным web программистам
у тебя строка должна начинаться с Petersburg
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
gans5131
@gans5131
web-developer
^ обозначает что проверка совпадения начинается исключительно с начала, т.е. правило /^Petersburg/ будет работать например для строки "Petersburg Saint"

$ обозначает конец. /^Petersburg$/ - полное совпадение от начала до конца

Для проверки и практики регулярок посоветую https://regexr.com/.
А вообще данную задачу думаю лучше решить с помощью стандартных функций php для работы со строками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽