javascript - 在 Javascript 中将字符串中的值提取到数组中

标签 javascript regex extract

我有这个字符串,我想将 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/

相关文章:

javascript - jQuery 选择值失败

javascript - 如何获得所需的自动对焦验证以在 html 表单上工作? - 我的尝试不会生效

javascript - Paypal 不会将沙盒交易数据发送到 IPN

javascript - 使用 JavaScript 正则表达式在文本中首次出现单词

python - 如何使用正则表达式仅保留前n个重复单词

c# - 为什么Regex的Matches函数这么快?

c - 以编程方式从C中的dd图像中提取文件

java - 从字符串中提取 2 个不同的 double 值

javascript - 在 Rails 应用程序中将 CodeSnippet 插件添加到 CKEditor

java - PdfBox 从 pdf 中提取具有相同字体系列的文本