繁体   English   中英

vb.NET中的此正则表达式有什么问题?

[英]What's wrong with this regex in vb.NET?

我有一个html文本文件,并且尝试删除表中的所有HTML标记,即删除<TABLE></TABLE>标记内的任何HTML。

但是,真正奇怪的是我使用的正则表达式(?<=<table((?!</table).)*)<(?!/table)[^>]+>在PowerGREP或但是,在vb.NET(或Expresso)中将EditPad Pro应用于非常相同的文本时,它将不起作用!

我只使用一个简单的替换方法: newString = Regex.Replace(oldString, "(?<=<table((?!</table).)*)<(?!/table)[^>]+>", string.Empty, RegexOptions.IgnoreCase)

我变得非常困惑,想知道是否有人可以帮助我,看看为什么会这样,以及我需要进行哪些更改才能使其在.NET中工作。 谢谢!

下面是示例文本:

================
texttexetext

<TABLE>

  <TAG1>

    <TAG2>tabletext<TAG3>

    <TAG4>

</TABLE>

texttexttext
===============

PowerGREP中的最终输出是

================
texttexetext

<TABLE>


 tabletext


</TABLE>

texttexttext
===============

如果指定“ 点匹配换行”模式, 它可在EditPadPro中使用 我看不到您在VB代码中这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM