Помощь с регулярным выражением из |
Сделал как мог скрипт:
var r = '[a]urlAva[/a][n]FullName[/n][m]Message[/m]',
i = r.split("[a]")[1].split("[/a]")[0],
s = r.split("[n]")[1].split("[/n]")[0],
o = r.split("[m]")[1].split("[/m]")[0];
alert(i + s + o);
Но как то банально? Если будет у меня var r = 'urlAva|FullName|Message'; Какой регуляркой можно получить нужные мне данные? |
var str = [];
'[a]urlAva[/a][n]FullName[/n][m]Message[/m]'.replace(/\[([^\]+])]([^\[\]]+)\[\/\1\]/g, function(a,b,c){
str.push(c);
});
alert(str.join('|'))
Но тут без вложенности. Если со вложенностью - придётся работать либо циклично либо рекурсивно и вручную.Во втором случае .split('|'), какие проблемы?) |
А если будет вот так: 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) ) |
Цитата:
alert('urlAva|FullName|Message'.match(/[^|]+/g))
|
Pavel M., логично.)
|
| Часовой пояс GMT +3, время: 04:19. |