2014-12-18 2 views
1

Вот моя строкаэкстракт слово с использованием регулярных выражений в JavaScript

var str = 'varying<div class="desc_1"><div>Changing or xyz</div></div>'; 

И я хочу, чтобы извлечь «изменения» и «Изменение или хуг» слово из предложения, используя регулярное выражение в JavaScript. Я хочу, чтобы выход как этот

str1 = "varying"; 
str2 = "Changing or xyz"; 


Js Fiddle Link

+0

Вы пытаетесь анализировать HTML-код? Если нет, вам лучше создавать отдельные текстовые узлы и узлы 'div', а затем вносить изменения в текстовые узлы, когда это необходимо. – ilgaar

+0

Я хочу сохранить эту две отдельные строки в json –

+0

Вы можете попробовать 'str.split (/ <[^>] +> /). Filter (function (txt) {return txt! =" "})', Но серьезно, не используйте регулярные выражения для анализа HTML. – pawel

ответ

3

ли вы потребность использовать регулярное выражение здесь?

var str = 'varying<div class="desc_1"><div>Changing or xyz</div></div>'; 
 
var tmp = document.createElement('div'); 
 
tmp.innerHTML = '<div>' + str + '</div>'; 
 

 
var text = []; 
 

 
var divs = tmp.getElementsByTagName('div'); 
 
for (var i = 0; i < divs.length; i++) { 
 
    var textEle = divs[i].childNodes[0]; 
 
    if (textEle.nodeValue !== null) { 
 
    text.push(textEle.nodeValue); 
 
    } 
 
} 
 

 
console.log(text); 
 
document.getElementById('output').innerHTML = text.join(', ');
<p id="output"></p>

Смежные вопросы