#php #regex
#php #регулярное выражение
Вопрос:
Я пытаюсь использовать регулярное выражение для слов, соответствующих @food__ или #food__ в строке, чтобы я всегда сопоставлял @food или #food и любые другие буквы, следующие друг за другом, до пробела. Это дает мне ошибки:
preg_match_all('/#/food/i', $unparsed, $parsed);
Кроме того, как я могу добавить такие условия, как соответствие: Еда, ЕДА и еда?
Комментарии:
1. флаг «i» дает вам возможность не учитывать регистр. Вы уже сопоставили его с включенным флагом.
2. Поскольку ни один из ответов не объясняет: ошибка, которую вы получили, связана с необработанной
/
косой чертой в регулярном выражении. Вы уже используете/
разделители as на каждом конце регулярного выражения, поэтому использование его без исключения является синтаксической ошибкой. Однако обратная косая черта здесь#
была излишней.
Ответ №1:
preg_match_all('/[#@]foodS*/i', $unparsed, $parsed);