VS>>>> Почему модификатор s не работает в нижеприведенном примере? VS>>>> Разве не должен конец строки попадать под "."? $ pcretest VS>>>> ~/tmp/koshka.txt PCRE version 8.43 2019-02-23 /koshka.*sobaka/s VS>>>> koshka1 No match koshka2 No match sobaka No match koshka No VS>>>> match koshka33 No match EG>>> Читаем man pcretest: EG>>> Each data line is matched separately and independently. EG>>> If you want to EG>>> do multi-line matches, you have to use the \n escape EG>>> sequence (or \r or EG>>> \r\n, etc., depending on the newline setting) in a single EG>>> line of input EG>>> to encode the newline sequences. There is no limit on the VS>> 1. Опция (?s) включает режим dotall: VS>> . any character except newline; in dotall mode, any VS>> character whatsoever
EG> Hо применяет pcretest это к each data line, то есть только к каждой EG> строке файла *по отдельности*.
А, кажется понял: если я хочу потестировать многострочный поиск с помощью pcretest, то мне нужно не реальный многострочный текст помещать в тестовый файл, а имитировать концы строк с помощью "\n" внутри строки?
VS>> 2. Почему на https://regex101.com/ работает именно так, как я VS>> ожидаю (при наличии /s токен "." означает в том числе newline),
EG> Потому что так и должно быть.
VS>> а в pcretest нет?
EG> Потому что и тут так и должно быть, в соответстиве с маном.
EG> Ты ожидаешь одинаковое поведение от разного софта, EG> когда у pcretest явным образом декларировано другое поведение.
А как/чем бы мне из командной строки потестировать сабж, чтобы работало как в https://regex101.com/ ?