Показать сообщение отдельно
  #1 (permalink)  
Старый 19.08.2014, 20:05
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

Ограничение количества символов {,}, как оно работает?
Думал, что разобрался в регулярках, но оказывается нет.
У меня есть строки-шаблоны, которые известны зарание и нужно выбрать все между ними, но не учитывая переноса строк, если таковые будут.
var str = ':::aaa:::\n\ntext\ntext\n\n:::sss:::';

Выше итоговая строка, а ниже зарание известные "теги".
Цитата:
:::aaa:::
:::sss:::
Выбрать нужно текст ниже.
Цитата:
text\ntext
Единственное, на что стоит обратить внимание, это перенос строки, которых может быть сколько угодно после открывающего тега и сколько угодно до закрывающего.
var re = /:::aaa:::\n{0,}([\s\S]+)\n{0,}:::sss:::/

Думал, что хватит и кода выше, но вот именно из-за него и задал вопрос..
Второе \n{0,} не работает, как хотелось бы. Я понимаю, что назад смотрящих нет, но ведь я и не ищу то, что позади, я делаю акцент на том, что впереди.
Но запись \n{0,} оставляет оба переноса, если написать \n{1,}, то из результата убирается один перенос строки и т.д.
И от сюда первый вопрос - почему запись \n{0,} , которая звучит, как "разрыв строки, повторяющийся ноль и более раз", звучит, как "включить в результат ноль разрывов строки", а запись \n{1,}, как "включить в результат вычислений один разрыв строки"... Почему так?
И второй, как сделать, чтобы работало?)
Ответить с цитированием