Есть такая регулярка ^(.*?)\sот
эта регулярка берет все из начала строки и до предлога "от"
Но бывает так, что в начале строки существует слово "тест" как мне исключить это слово если оно есть?
Эдуард твой пример исключает всю строку если там есть слово "тест", а мне нужно, чтобы если там есть слово "тест", он пропускал только это слово, а не всю строку
kaxa3201, так не выйдет. Ищите соответствия своей регуляркой, и вырезайте "тест" функцией str_replace(). UPD: В принципе, можно сделать сброс буфера, и тогда в первой группе вы получите текст без слова "тест". Как-то так: ~^(?:тест)?+\K(.+)\sот~