ÐногоÑÑÑоÑнÑй Ñежим вклÑÑаеÑÑÑ Ñлагом m.
Ðн влиÑÐµÑ ÑолÑко на поведение ^ и $.
РмногоÑÑÑоÑном Ñежиме они ознаÑаÑÑ Ð½Ðµ ÑолÑко наÑало/ÐºÐ¾Ð½ÐµÑ ÑекÑÑа, но и наÑало/ÐºÐ¾Ð½ÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑÑоки в ÑекÑÑе.
ÐоиÑк в наÑале ÑÑÑоки ^
РпÑимеÑе ниже ÑекÑÑ ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· неÑколÑкиÑ
ÑÑÑок. Шаблон /^\d/gm беÑÑÑ ÑиÑÑÑ Ñ Ð½Ð°Ñала каждой ÑÑÑоки:
let str = `1е меÑÑо: Ðинни
2е меÑÑо: ÐÑÑаÑок
3е меÑÑо: СлонопоÑам`;
console.log( str.match(/^\d/gm) ); // 1, 2, 3
ÐбÑаÑим внимание â без Ñлага m бÑло Ð±Ñ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ ÑолÑко пеÑвое ÑиÑло:
let str = `1е меÑÑо: Ðинни
2е меÑÑо: ÐÑÑаÑок
3е меÑÑо: СлонопоÑам`;
console.log( str.match(/^\d/g) ); // 1
Так пÑоиÑÑ
одиÑ, поÑÐ¾Ð¼Ñ ÑÑо в обÑÑном Ñежиме каÑеÑка ^ â ÑÑо ÑолÑко наÑало ÑекÑÑа, а в многоÑÑÑоÑном â наÑало лÑбой ÑÑÑоки.
«ÐаÑало ÑÑÑоки», ÑоÑмалÑно, ознаÑÐ°ÐµÑ Â«ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле пеÑевода ÑÑÑоки», Ñо еÑÑÑ Ð¿ÑовеÑка ^ в многоÑÑÑоÑном Ñежиме веÑна на вÑеÑ
позиÑиÑÑ
, коÑоÑÑм пÑедÑеÑÑвÑÐµÑ Ñимвол пеÑевода ÑÑÑоки \n.
Рв наÑале ÑекÑÑа.
ÐоиÑк в конÑе ÑÑÑоки $
Символ доллаÑа $ ведÑÑ ÑÐµÐ±Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñно.
РегÑлÑÑное вÑÑажение \d$ иÑÐµÑ Ð¿Ð¾ÑледнÑÑ ÑиÑÑÑ Ð² каждой ÑÑÑоке
let str = `Ðинни: 1
ÐÑÑаÑок: 2
СлонопоÑам: 3`;
console.log( str.match(/\d$/gm) ); // 1,2,3
Ðез Ñлага m ÑкоÑÑ $ обознаÑал Ð±Ñ ÐºÐ¾Ð½ÐµÑ Ð²Ñей ÑÑÑоки, и бÑла Ð±Ñ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° ÑолÑко поÑледнÑÑ ÑиÑÑа.
ÐÑем \n вмеÑÑо ^ $
ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи ÐºÐ¾Ð½ÐµÑ ÑÑÑоки, можно иÑполÑзоваÑÑ Ð½Ðµ ÑолÑко ÑкоÑÑ ^ и $, но и Ñимвол пеÑевода ÑÑÑоки \n.
Ð ÑÑм ÑазниÑа? ÐавайÑе поÑмоÑÑим на пÑимеÑе.
ÐоиÑем \d\n вмеÑÑо \d$:
let str = `Ðинни: 1
ÐÑÑаÑок: 2
СлонопоÑам: 3`;
console.log( str.match(/\d\n/g) ); // 1\n,2\n
Ðак видим, Ñовпадений ÑепеÑÑ Ð´Ð²Ð°, а не ÑÑи.
ÐÑо поÑомÑ, ÑÑо поÑле 3 Ð½ÐµÑ Ð¿ÐµÑевода ÑÑÑоки (а ÐºÐ¾Ð½ÐµÑ ÑекÑÑа, подÑ
одÑÑий под $ â еÑÑÑ).
ÐÑÑ Ð¾Ð´Ð½Ð¾ оÑлиÑие: ÑепеÑÑ Ð² каждое найденное Ñовпадение вÑ
Ð¾Ð´Ð¸Ñ Ñимвол пеÑевода ÑÑÑоки \n. РоÑлиÑие Ð¾Ñ ÑкоÑей ^ $, коÑоÑÑе ÑолÑко пÑовеÑÑÑÑ ÑÑловие (наÑало/ÐºÐ¾Ð½ÐµÑ ÑÑÑоки), \n â Ñимвол и вÑ
Ð¾Ð´Ð¸Ñ Ð² ÑезÑлÑÑаÑ.
Так ÑÑо \n в Ñаблоне иÑполÑзÑеÑÑÑ, когда нам нÑжен Ñам Ñимвол пеÑевода ÑÑÑоки в ÑезÑлÑÑаÑе, а ÑкоÑÑ â когда Ñ
оÑим найÑи ÑÑо-Ñо в наÑале/конÑе ÑÑÑоки.
ÐомменÑаÑии
<code>, Ð´Ð»Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑÑÑок кода — Ñег<pre>, еÑли болÑÑе 10 ÑÑÑок — ÑÑÑÐ»ÐºÑ Ð½Ð° пеÑоÑниÑÑ (plnkr, JSBin, codepenâ¦)