Совпадение точки с любым символом (/s)

По умолчанию точка (.) не совпадает с символом новой строки; это вполне логично для большинства шаблонов, рассчитанных на поиск «в пределах одной логической строки». Если строковые данные могут содержать внутренние символы новой строки и вы хотите, чтобы точка совпадала с этими символами, воспользуйтесь модификатором /s. С ним каждая точка1 в шаблоне действует как символьный класс [\d\D], то есть совпадает с любым символом, включая символы новой строки. Конечно, поведение программы изменяется только в том случае, если данные содержат внутренние символы новой строки:

$_ = "I saw Barney\ndown at the bowling alley\nwith Fred\nlast night.\n";
if (/Barney.*Fred/s) {
print "That string mentions Fred after Barney!\n";
}


Без модификатора /s поиск завершится неудачей, потому что два имени находятся в разных логических строках.
Теги:
регулярные выражения
Добавлено: 20 Июля 2018 19:18:19 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...