javascript - 在没有带有特定文本标签的 JavaScript 中拆分

标签 javascript regex

我正在尝试分割字符串

<div id = 'tostart'><button>todo </button>hometown todo </div>

以“to”作为关键字。

问题是我不必在标签之间拆分,而只需从标签外部拆分,因此如果我拆分,我会得到类似的结果

    arr = ["<div id = 'tostart'><button>","do","</button>home","wn ","do </div>"]

是否有一个正则表达式可以用来实现它。

提前致谢。

最佳答案

使用这个:

var str = "<div id = 'tostart'><button>todo </button>hometown todo </div>";
var res = str.replace(/to/g, '|').replace(/(.*?)(<.*?)\|(.*?>)/g, '$1$2to$3');
console.log(res.split("\|"));

输出:

["<div id = 'tostart'><button>", "do </button>home", "wn ", "do </div>"]

@musefan:

这实际上是即兴创作。

首先我替换了所有的to|然后我选择了 < 内的所有管道或>并将它们替换为 to 。最后我可以根据 | 进行拆分这是上一次替换留下的。

正则表达式:(.*?)(<.*?)\|(.*?>)

将选择全部| < 里面的字符和>

关于javascript - 在没有带有特定文本标签的 JavaScript 中拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23803017/

相关文章:

Python:反复查找两个字符串之间的字符串

c# - 我需要一个正则表达式来验证给定字符串中至少 7 位数字

javascript - onchange 劫持 onclick

javascript - 如何使用纯 javascript 检测文本区域大小变化?

正则表达式匹配R中的任何汉字

java - 正则表达式匹配带有或不带有 http 和 https 的主机;

java - java中将字符串分成句子(在指定组的符号出现后)

javascript - 是什么决定了一个 JavaScript 函数是一个命名的匿名函数还是一个,嗯,常规函数?

javascript - 使用 rowspan 和 colspan 属性修复表头并可滚动

javascript - 调整多个容器中的文本大小以保留父尺寸