Разделение строки по тегам
Подскажите как в js разделить строку вида:
*tag_1: текст * примечание *tag_2: текст: 2 *tag_3: <p>test </p> По тегам, чтобы на выходе получить массив тегов и подходящим к ним текстам tag_1 - текст * примечание tag_2 - текст: 2 Сами теги в тексте начинаются со знака звездочки, могут иметь латинские символы, цифры, знак подчеркивания _ и заканчиваются двоеточием при этом в тексте могут могут встречаться звездочки и довоеточия |
var str = '*tag_1: текст * примечание *tag_2: текст: 2 *tag_3: <p>test </p>'; var arr = str.split(/\s*\*(?=tag_\d+)/); arr && arr.shift(); console.log(arr); |
sergeev26,
массив на выходе покажите? |
Ruslan_xDD,
:lol: var str = '*tag_1: текст * примечание *tag_2: текст: 2 *tag_3: <p>test </p>'; str = str.split(/\*(\w+):/); str && str.shift(); alert(JSON.stringify(str)); |
Наверное я не совсем точно выразился, вместо:
tag_1 tag_2 tag_3 могут быть любые слова на латинице, а так же они могут содержать цифры и знак подчеркивания например: *text: текст *html_1: <p>текст*</p> *title: заголовок: текст |
Цитата:
var str = '*text: текст *html_1: <p>текст*</p> *title: заголовок: текст'; str = str.split(/\*(\w+):/); str && str.shift(); alert(JSON.stringify(str)); |
Цитата:
Цитата:
|
var str = '*text: текст *html_1: <p>текст*</p> *title: заголовок: текст'; str = str.split(/\*(?=\w+:)/); str && str.shift(); alert(JSON.stringify(str)); |
Возможно ли сделать проверку на ошибки
к примеру, если в строке будет ошибочный пробел * tag: text либо *tag : text сейчас при такой ошибке в первом теге, он полностью удаляется |
sergeev26,
var str = '* text : текст *html_1: <p>текст*</p> *title: заголовок: текст * tag: text *tag : text'; str = str.split(/\*\s?(\w+)\s?:/); str && str.shift(); alert(JSON.stringify(str)); |
Часовой пояс GMT +3, время: 00:19. |