Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Regex for VSC选择具有特定类的所有完整div_Regex_Visual Studio Code - Fatal编程技术网

使用Regex for VSC选择具有特定类的所有完整div

使用Regex for VSC选择具有特定类的所有完整div,regex,visual-studio-code,Regex,Visual Studio Code,我在一个大文件中有大量这样的代码,我只想用qt类删除所有div <div class="qt"> <div class="qy"> Standard Delivery</div> <div class="qu">€1.95/$2.99</div> </div> <div class="qe"

我在一个大文件中有大量这样的代码,我只想用
qt
类删除所有div

    <div class="qt">
      <div class="qy"> Standard Delivery</div>
      <div class="qu">€1.95/$2.99</div>
    </div>
    <div class="qe" data-country="kw.svg">
      <p class="qr"> Kuwait </p>
    </div>
    <div class="qt">
      <div class="qy"> Standard Delivery</div>
      <div class="qu">€1.95/$2.99</div>
      <div class="qs"> Express Delivery</div>
      <div class="qb">€2.95/$3.99</div>
    </div>
    <div class="qe" data-country="ml.svg">
      <p class="qr"> Malawi </p>
    </div>

标准交付
€1.95/$2.99
科威特

标准交付 €1.95/$2.99 快递 €2.95/$3.99 马拉维


我想选择所有具有
qt
类的div,直到VSC中匹配的结束div(查找并替换)。特别是考虑到我们要选择的div中有不同数量的其他
标记,我们该怎么做呢?

正如我在上面的评论中提到的,如果您的代码的格式与您显示的部分类似,那么使用find/replace可以更轻松地执行此操作。例如:

(^\s*)[\s\s]*?(^\s*\n)
查找并替换为空

此表单要求您的内部div是

标准交付
其中整个元素位于一行上

如果这些内部div不一定是一行程序,那么这是我发现的最简单的版本,适合您的数据:

^\s*[\s\s]*?\n^\s*\n

为了解释后一种情况:

^\s*
查找
qt
类div

[\s\s]*?\n^\s*\n
go,换行符或字符,直到连续两个

现在,这个版本确实需要在
qt
类开场白之后的两个连续的
结束标记中,第二个表示
qt
开始标记的结束标记。因此,如果您的数据可以如下所示:


标准交付
€1.95/$2.99

1.95欧元/2.99美元这对于regex来说可能太复杂了。我知道我该如何编程。如果你能告诉我你喜欢什么编程/脚本语言,我可以为你写一个快速的脚本。那太棒了。。我使用的是jsp,你应该100%使用XPath。关于JS起点,请参见我的答案。如果(一个大的IF)您的所有代码的格式都与您显示的一样好,那么
(^\s*)[\s]*?(^\s*\n)
工作,因为每个
qt
类的结尾
都在它自己的行上。看见也就是说,所有内部div都是一个衬里。否则,这将不起作用。这似乎更为健壮:
(^\s*\n)(^\s*这是完美的,thanksI使用它来获得我也需要的东西,xms类带有任意数量的结束p标记和一个结束/div标记..工作起来很有魅力,使用了不同数量的p标记..感谢您的帮助!:^\s*[\s\s]*?\n^\s*\n