Javascript 可以通过使用负环视排除子字符串的正则表达式

Javascript 可以通过使用负环视排除子字符串的正则表达式,javascript,regex,Javascript,Regex,我的输入是: 诸如此类的废话1诸如此类的废话2诸如此类的废话 我想让我的正则表达式和这个匹配 xxxxpattern 所需输出为1.2.xxxx 我写了一个简单的解决方案,可以涵盖 废话废话1 废话废话2 注意:它们在不同的行上 输出是:18,废话废话废话1和19,废话废话废话2 但是当输入是废话废话1废话废话2 哪个在同一条线上 我的输出是18,诸如此类的废话1诸如此类的废话2诸如此类的废话 我怎样才能绕过这个问题 更新: 正则表达式:\(.*) 测试输入: 案例1->两行代码 通常用一种叫做

我的输入是:
诸如此类的废话1诸如此类的废话2诸如此类的废话

我想让我的正则表达式和这个匹配
xxxx
pattern
所需输出为1.2.xxxx

我写了一个简单的解决方案,可以涵盖
废话废话1

废话废话2

注意:它们在不同的行上
输出是:
18
废话废话废话1
19
废话废话废话2

但是当输入是
废话废话1废话废话2

哪个在同一条线上

我的输出是
18
诸如此类的废话1诸如此类的废话2诸如此类的废话

我怎样才能绕过这个问题

更新: 正则表达式:
\(.*)

测试输入:
案例1->两行代码
通常用一种叫做

通常用一种叫做ristras的绳子系在门口。

案例2->一行代码

通常将门口装饰成绳子,称为doften。将门口装饰成绳子,称为ristras。

如果您已经在使用JavaScript/HTML,而不是使用正则表达式从HTML中提取数据,那么使用浏览器中已有的DOM查询工具通常会容易得多

const d = document.createElement("div");
d.innerHTML = yourSpanContent;

Array.from(d.querySelectorAll("span")).map(span =>
  `1. ${span.getAttribute("question_number")} 2. ${span.innerText}`
);

如果您正在处理的HTML已经在DOM中,那么您可以从该DOM中进行选择,并从本质上删除前两行。

这将匹配span标记中的任何内容,而不管它在一行中的什么位置

 /(<span[^>]*>)[^<]*(<\/span>)/g

/(]*>)[^Ungreedy你的量词。
*?
而不仅仅是
*
。或者,更好的是,不要使用正则表达式来解析HTML!到目前为止,你能向我们展示你的解决方案吗?@ExplosionPills你能看一看吗?@MohanL你需要在你的问题中包含更多信息,比如这个HTML是如何生成的,以及你是如何提取数据的。I“我不知道你说的“在我生成DOM之前”是什么意思”