我有这个字符串,我想将 TEXT1、TEXT2 等提取到数组 m 中。
我尝试使用正则表达式,但它不起作用。
var regex = /item\b[^>]*>(.*?)<button/g;
var string = '<li id="reminder-1440746981190" class="new-item">TEXT1
<button class="icon-trash delete-button" contenteditable="false"></button>
<button class="icon-pencil edit-button" contenteditable="false"></button>
</li>
<li id="reminder-1440746983703" class="new-item">TEXT2
<button class="icon-trash delete-button" contenteditable="false"></button>
<button class="icon-pencil edit-button" contenteditable="false"></button>
</li>';
var m;
while ((m = regex.exec(string)) !== null) {
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
}
alert(m[0]);
有什么想法吗?
最佳答案
你可以这样尝试:
var str = $('li').contents().filter(function(){
return this.nodeType === 3;
}).text();
console.log(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li id="reminder-1440746981190" class="new-item">TEXT1
<button class="icon-trash delete-button" contenteditable="false"></button>
<button class="icon-pencil edit-button" contenteditable="false"></button>
</li>
<li id="reminder-1440746983703" class="new-item">TEXT2
<button class="icon-trash delete-button" contenteditable="false"></button>
<button class="icon-pencil edit-button" contenteditable="false"></button>
</li>
关于javascript - 在 Javascript 中将字符串中的值提取到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32270417/