Просмотр полной версии : Помощь с регулярным выражением из |
kiberkun
17.08.2014, 23:12
Сделал как мог скрипт:
var r = 'urlAvaFullNameMessage',
i = r.split("")[1].split("")[0],
s = r.split("")[1].split("")[0],
o = r.split("")[1].split("")[0];
alert(i + s + o);
Но как то банально?
Если будет у меня var r = 'urlAva|FullName|Message';
Какой регуляркой можно получить нужные мне данные?
var str = [];
'urlAvaFullNameMessage'.replace(/\[([^\]+])]([^\[\]]+)\[\/\1\]/g, function(a,b,c){
str.push(c);
});
alert(str.join('|'))Но тут без вложенности. Если со вложенностью - придётся работать либо циклично либо рекурсивно и вручную.
Во втором случае .split('|'), какие проблемы?)
kiberkun
18.08.2014, 10:41
А если будет вот так: var text = 'urlAva|FullName|Message';
как получить данные с каждого | по отдельности?
urlAva
FullName
Message
Регуляркой не получится?
kiberkun,
var text = 'urlAva|FullName|Message';
alert(text.split("|"))
Ещё раз: зачем что-то городить?alert( 'urlAva|FullName|Message'.split('|') ) если очень хочется - нате вам с регулярной:) alert( 'urlAva|FullName|Message'.split(/\|/) )
Если же прямо таки вожделеете сделать через задницу, то можно и так:
alert( 'urlAva|FullName|Message'.match(/[^|]+(?=\||$)/g) )
Pavel M.
18.08.2014, 16:21
Если же прямо таки вожделеете сделать через задницу, то можно и так
можно вроде еще проще
alert('urlAva|FullName|Message'.match(/[^|]+/g))
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot