Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.01.2012, 19:34
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Octane Посмотреть сообщение
Деструктивного (или как они там называются) аналога метода pop нету
ну как обычно, js такой js? но мне нравится что в нем мало функций лишних, все что нужно можно сделать самому.
Ответить с цитированием
  #12 (permalink)  
Старый 07.01.2012, 03:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Сообщение от nerv_ Посмотреть сообщение
немного извращенный вариант
var x = "string", z;
x = x.replace(/[\S\s]$/, function(f) { z = f; return ""});
alert(x + "\n" + z);
немного извращенный вариант:
var x = "string";
x = x.split(/(?=[\S\s]$)/);
alert(x[0]+' | '+x[1]);

=)
__________________
29375, 35
Ответить с цитированием
  #13 (permalink)  
Старый 07.01.2012, 11:35
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Aetae, клево. Спасибо) Я тоже хотел записать через split, но условие реги сформировать не получилось Можно попросить Вас дать небольшой комментарий по коду?
// 1. x(?=y) Находит x, только если за x следует y. При этом x у Вас не указан.
// 2. Строка бьется по separator, при разбивании separator пропадает. Но (я так понял), поскольку он (x) не указан, то пропадать там не чему.
// 3. А можно записать условие без этой (?=y) конструкции, с аналогичным результатом работы?
x = x.split(/(?=[\S\s]$)/);


p.s.: видимо, у меня так много вопросов, потому, что еще не дочитал "Дж.Фридл - Регулярные выражения, 3-е изд.[2008].pdf", только на 84 странице
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #14 (permalink)  
Старый 07.01.2012, 11:46
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

можно так

var x = "string";
x = x.match(/(.+)(.$)/);
alert(x[1] + ' | ' + x[2]);
Ответить с цитированием
  #15 (permalink)  
Старый 07.01.2012, 12:01
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Pavel M.
можно так
или так
var x = /(.+)(.$)/.exec("string");
alert(x[1] + ' | ' + x[2]);

Pavel M., спасибо) но меня интересует split
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #16 (permalink)  
Старый 07.01.2012, 12:05
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Честно говоря глубокой теоретической подоплёки данный ход не имеет.)
Так я естесно никогда не делал, ибо извращение, но полагаю отсутствие предстоящей строки он воспринимает как пустую строку, а потому работает как надо.)
__________________
29375, 35

Последний раз редактировалось Aetae, 07.01.2012 в 12:09.
Ответить с цитированием
  #17 (permalink)  
Старый 07.01.2012, 13:45
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Aetae, и на этом спасибо)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #18 (permalink)  
Старый 07.01.2012, 19:02
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

в контексте: сейчас читаю Дж.Фридл - Регулярные выражения, 3-е изд.[2008].pdf
Aetae, буквально через 2-3 страницы от того, где я остановился, наткнулся на следующее:
для пояснения:
(?=) - опережающая проверка
(?<=) - ретроспективная проверка
пример в кот. производится поиск: see Jeffs book
задача: заменить Jeffs на Jeff’s

Цитата:
...Получится выражение (?<=\bJeff) (?=s\b) которое читается так: «Найти позицию, перед которой находится текст ‘Jeff’, а после которой находится текст ‘s’.» Результат получается весьма любопытным. Регулярное выражение вообще не совпадает ни с каким текстом – оно совпадает с позицией, в которой мы хотим вставить апостроф. Найденное «ничто» в этой позиции заменяется апострофом.

Так что получается Kolyaj прав был, когда говорил (цитата из другой темы)
Сообщение от Kolyaj
После прочтения половины книги вопросов по регулярным выражениям не возникает никогда. Вторая половина там про внутренности движков.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 07.01.2012 в 19:10.
Ответить с цитированием
  #19 (permalink)  
Старый 07.01.2012, 19:04
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Кто придумал регулярки,) ? что эт за существо)?
Ответить с цитированием
  #20 (permalink)  
Старый 07.01.2012, 19:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Сообщение от Livaanderiamarum Посмотреть сообщение
Кто придумал регулярки,) ? что эт за существо)?
Стивен Коул Клейни
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать 1-й символ строки заглавным YISHIMITSY Общие вопросы Javascript 16 18.03.2015 21:47
Регулярное выражение: любой символ, включая перевод строки Gleb Общие вопросы Javascript 3 28.07.2011 12:15
Как удалить этот символ из строки? PAMAC Серверные языки и технологии 3 14.08.2010 17:27
Как убрать последний перенос строки? mff Общие вопросы Javascript 6 25.05.2010 17:08
Как удалить последний символ строки? PAMAC Events/DOM/Window 5 18.10.2009 15:01