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之前”是什么意思”