2013-10-25 72 views
1

我使用VB.NET中的正则表达式这些表达式和他们都分开工作:正则表达式表达与几种不同的模式

texto = "ola <a href=""http://www.aiaia.pt"">coisas</a> tas <object> zborgind </object> bom <iframe src=""http://www.uiuiuiuiiu.pt""></iframe> hoje? <center>qq coisa</center> Já acabou, <script>document.write(""oi"")</script> ...agora!" 
Dim regEx2 As New Regex("<a[^>]*>", RegexOptions.IgnoreCase Or RegexOptions.Multiline) 
texto = regEx2.Replace(texto, String.Empty) 
regEx2 = New Regex("</a[^>]*>", RegexOptions.IgnoreCase Or RegexOptions.Multiline) 
texto = regEx2.Replace(texto, String.Empty) 
regEx2 = New Regex("<object.*?>.*</object\s*?>", RegexOptions.IgnoreCase Or RegexOptions.Multiline) 
texto = regEx2.Replace(texto, String.Empty) 
regEx2 = New Regex("<iframe.*?>.*</iframe\s*?>", RegexOptions.IgnoreCase Or RegexOptions.Multiline) 
texto = regEx2.Replace(texto, String.Empty) 
regEx2 = New Regex("<center[^>]*>", RegexOptions.IgnoreCase Or RegexOptions.Multiline) 
texto = regEx2.Replace(texto, String.Empty) 
regEx2 = New Regex("</center[^>]*>", RegexOptions.IgnoreCase Or RegexOptions.Multiline) 
texto = regEx2.Replace(texto, String.Empty) 
regEx2 = New Regex("<script[^>]*>([\w\W]*?)</script>", RegexOptions.IgnoreCase Or RegexOptions.Multiline) 
texto = regEx2.Replace(texto, String.Empty) 

我如何加入他们都在一个表达?

我想这和他们一起之一:

Dim texto2 As String = "ola <a href=""http://www.aiaia.pt"">coisas</a> tas <object> zborgind </object> bom <iframe src=""http://www.uiuiuiuiiu.pt""></iframe> hoje? <center>qq coisa</center> Já acabou, <script>document.write(""oi"")</script> ...agora!" 

Dim re As New Regex(_ 
    "^<a[^>]*>$" & _ 
    "^</a[^>]*>$" & _ 
    "^<object.*?>.*</object\s*?>$" & _ 
    "^<iframe.*?>.*</iframe\s*?>$" & _ 
    "^<center[^>]*>$" & _ 
    "^</center[^>]*>$" & _ 
    "^<script[^>]*>([\w\W]*?)</script>$", _ 
    RegexOptions.IgnoreCase Or RegexOptions.Multiline _ 
) 

但不起作用。你可以帮我吗?提前致谢。

+0

您可以使用格式化工具吗?你也应该用英文命名你的变量,这是一个偏好... – HamZa

回答

0

^$匹配一行的开始和结束。它们不会在正则表达式中划分子模式。改为使用|;它匹配左侧或右侧。

Dim re As New Regex(_ 
    "<a[^>]*>" & _ 
    "|</a[^>]*>" & _ 
    "|<object.*?>.*</object\s*?>" & _ 
    "|<iframe.*?>.*</iframe\s*?>" & _ 
    "|<center[^>]*>" & _ 
    "|</center[^>]*>" & _ 
    "|<script[^>]*>([\w\W]*?)</script>", _ 
    RegexOptions.IgnoreCase Or RegexOptions.Multiline _ 
) 
+0

谢谢! :D它真的很棒! –