要替换的Javascript正则表达式<;ul>;或<;ol>;只有文本在<;李>;标签

要替换的Javascript正则表达式<;ul>;或<;ol>;只有文本在<;李>;标签,javascript,regex,replace,Javascript,Regex,Replace,假设我有一个有序或无序的列表,它是字符串形式的。我只需要返回包含在相应父元素的每个列表项中的文本: <ul> <li>Example One</li> <li>Example Two</li> </ul> 例一 例二 我已经完成了这项工作,但显然效率不高: var first = string.replace(/.*<li>(.*)<\/li>.*/g, '$1'); var

假设我有一个有序或无序的列表,它是字符串形式的。我只需要返回包含在相应父元素的每个列表项中的文本:

<ul>
    <li>Example One</li>
    <li>Example Two</li>
</ul>
  • 例一
  • 例二
我已经完成了这项工作,但显然效率不高:

var first = string.replace(/.*<li>(.*)<\/li>.*/g, '$1');
var second = first.replace(/(<ul>|<ol>|<\/ol>|<\/ul>)/g, '');
var first=string.replace(/.*
  • (.*)。*/g,$1'); 第二个变量=第一个。替换(/(
      ||||||)/g';
  • 输出是我所期望的,但我知道有一种regex格式可以立即实现,但我对regex还是很熟悉,所以不确定我做错了什么。这就是我所想的:

    var newString = string.replace(/(<ul>|<ol>).*<li>(.*)<\/li>.*(<\/ul>|\/<ol>)/g, '$2');
    
    var newString=string.replace(/(
      |)).
    • (.*)(*(|\/)/g,$2');
    但是,这将以字符串形式返回整个HTML结构:

    <ul>
        <li>Example One</li>
        <li>Example Two</li>
    </ul>
    
    • 例一
    • 例二

    像往常一样,我的朋友们,提前谢谢你。

    你可以按照模式
    /((
    • (.*)(|))/g拆分正则表达式,下面的例子你非常接近

      const模板=`
      • 例一
      • 例二
      ` const str=template.replace(/(((
        ))
      • (.*)(?)/g,“$3”);
        console.log(str)
      您可以在模式
      /((
        )|
      • (.*)|(|))/g
      中拆分正则表达式,下面的示例非常接近

      const模板=`
      • 例一
      • 例二
      ` const str=template.replace(/(((
        ))
      • (.*)(?)/g,“$3”);

        console.log(str);)如果您使用的是Javascript,为什么要使用正则表达式而不是DOM解析等更合理的方法?“以字符串形式排列的有序或无序列表”…字符串form@CertainPerformance我想我应该包括更多的上下文。这是利用一个javascript模板引擎,非常类似于Mustach,因此服务器端我需要在随后呈现给客户端之前操作HTML元素的字符串形式。否则,我绝对愿意解析DOM并做我需要的:)好的,奥斯汀,这现在是有意义的。好吧,是我的错。有人投了反对票。我修复了它,因为你现在完全明白了如果您使用的是Javascript,为什么要使用正则表达式而不是DOM解析等更合理的方法?“以字符串形式排列的有序或无序列表”…字符串form@CertainPerformance我想我应该包括更多的上下文。这是利用一个javascript模板引擎,非常类似于Mustach,因此服务器端我需要在随后呈现给客户端之前操作HTML元素的字符串形式。否则,我绝对愿意解析DOM并做我需要的:)好的,奥斯汀,这现在是有意义的。好吧,是我的错。有人投了反对票。我恢复了它,因为你现在完全明白了。谢谢你,我的人,这确实对我有用:)我想我不清楚正则表达式中捕获组的用法。也许如果你能扩大你的改变?我们将不胜感激,但这不是我们所期望的。再次感谢您,但此答案仍然会输出您不想要的结果。您不想要的输出之前的Html仍在
        str
        中。之后。接受错误的答案对任何人都没有帮助。@GetSet我需要操作一个字符串服务器端,然后在模板中作为DOM元素客户端呈现。我接受作为答案的正则表达式将在呈现之前在服务器端执行。我可能应该在我的问题中包含更多的细节:)我只是想知道你的模板在开始时是否已经有了
        (已知知识),在结束时是否已经有了
      ,为什么你需要正则表达式?编辑后在模式中包含对组的解释谢谢你,我的人,这确实对我有用:)我想我不清楚正则表达式中捕获组的用法。也许如果你能扩大你的改变?我们将不胜感激,但这不是我们所期望的。再次感谢您,但此答案仍然会输出您不想要的结果。您不想要的输出之前的Html仍在
      str
      中。之后。接受错误的答案对任何人都没有帮助。@GetSet我需要操作一个字符串服务器端,然后在模板中作为DOM元素客户端呈现。我接受作为答案的正则表达式将在呈现之前在服务器端执行。我可能应该在我的问题中包含更多的细节:)我只是想知道你的模板在开始时(已知知识)是否已经有了
        ,在结束时是否已经有了
          ,为什么你需要对regex进行编辑,以便在模式中包含对组的解释