# Многострочный режим, флаг "m" Многострочный режим включается, если у регэкспа есть флаг /m. [cut] В этом случае изменяется поведение ^ и $. **В многострочном режиме якоря означают не только начало/конец текста, но и начало/конец строки.** В примере ниже текст состоит из нескольких строк. Паттерн /^\d+/gm берёт число с начала каждой строки: ```js //+ run var str = '1е место: Винни-пух\n' + '2е место: Пятачок\n' + '33е место: Слонопотам'; alert( str.match(/^\d+/gm) ); // 1, 2, 33*!* ``` Обратим внимание -- без флага /m было бы только первое число: ```js //+ run var str = '1е место: Винни-пух\n' + '2е место: Пятачок\n' + '33е место: Слонопотам'; alert( str.match(/^\d+/g) ); // 1 ``` Это потому что в обычном режиме каретка ^ -- это только начало текста. Символ доллара $ ведёт себя точно так же. Следующий пример находит последнее слово в строке: TODO: указать на коренное отличие $ от \n: доллар не матчит символ, а \n матчит!!!! ```js //+ run showMatch( '1st: *!*John*!*\n' + '2nd: *!*Mary*/!*\n' + '33rd: *!*Peter*/!*', /\w+$/gm ) // John, Mary, Peter ``` Please note that $ as well as ^ doesn't add \n to the match. They only check that the position is right. [summary] **For both anchors, the regexp engine only checks the position, and doesn't match a character.** [/summary]