Единственная сложная часть, которую я вижу для '.' при сопоставлении многострочной строки: при неправильных параметрах оно может соответствовать гораздо большему, чем необходимо, и может привести к проблеме с отслеживанием (из-за не жадного соответствия).
Из regex tutorial
Точка соответствует одному символу, безразлично, что это за символ. Единственным исключением являются символы новой строки.
В большинстве разновидностей регулярных выражений точка не будет соответствовать символу новой строки по умолчанию. Таким образом, по умолчанию точка является короткой для класса отрицательных символов [^ \ n] (разновидности регулярных выражений UNIX) или [^ \ r \ n] (разновидности регулярных выражений Windows).
Это исключение существует в основном по историческим причинам. Первые инструменты, которые использовали регулярные выражения, были основаны на строках. Они будут читать файл построчно и применять регулярное выражение отдельно к каждой строке. В результате с этими инструментами строка никогда не может содержать переводы строки, поэтому точка никогда не сможет соответствовать им.