Цитата:
|
Цитата:
var x = "string"; x = x.split(/(?=[\S\s]$)/); alert(x[0]+' | '+x[1]); =) |
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 странице :) |
можно так
var x = "string"; x = x.match(/(.+)(.$)/); alert(x[1] + ' | ' + x[2]); |
Цитата:
var x = /(.+)(.$)/.exec("string"); alert(x[1] + ' | ' + x[2]); Pavel M., спасибо) но меня интересует split :) |
Честно говоря глубокой теоретической подоплёки данный ход не имеет.)
Так я естесно никогда не делал, ибо извращение, но полагаю отсутствие предстоящей строки он воспринимает как пустую строку, а потому работает как надо.) |
Aetae, и на этом спасибо)
|
в контексте: сейчас читаю Дж.Фридл - Регулярные выражения, 3-е изд.[2008].pdf
Aetae, буквально через 2-3 страницы от того, где я остановился, наткнулся на следующее: для пояснения: (?=) - опережающая проверка (?<=) - ретроспективная проверка пример в кот. производится поиск: see Jeffs book задача: заменить Jeffs на Jeff’s Цитата:
Так что получается Kolyaj прав был, когда говорил (цитата из другой темы) Цитата:
|
Кто придумал регулярки,) ? что эт за существо)?
|
Цитата:
|
Часовой пояс GMT +3, время: 16:34. |