使用正则表达式检查URL是否包含某些组件

时间:2013-05-22 14:30:06

标签: regex vb.net

我如何检查“http://site.com/index.php?page=main.php”的结构是否如此 - > http://STRING.php?STRING=STRING.php在Visual Basic .NET中使用正则表达式?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用http:\/\/.+\.php\?.+=.+\.php来匹配该内容。我可以找到一些用于测试的示例here

它分解为您想要的不同组件,并将它们串在一起。为了匹配STRINGS,您可以使用.+进行非贪婪捕获。这有助于您匹配正则表达式的其余有效部分,例如php处理。

  • http:\/\/与您的http://
  • 相匹配
  • .+\.phpSTRING后跟.php
  • 相匹配
  • \?.+=匹配?后跟字符串.+=
  • .+\.php终于找到STRING,然后再找到.php

编辑:从myregextester.com生成的一些为VB.NET生成的示例代码:

Imports System.Text.RegularExpressions
Module Module1
  Sub Main()
    Dim sourcestring as String = "replace with your source string"
    Dim re As Regex = New Regex("http:\/\/.+\.php\?.+=.+\.php")
    Dim mc as MatchCollection = re.Matches(sourcestring)
    Dim mIdx as Integer = 0
    For each m as Match in mc
      For groupIdx As Integer = 0 To m.Groups.Count - 1
        Console.WriteLine("[{0}][{1}] = {2}", mIdx, re.GetGroupNames(groupIdx), m.Groups(groupIdx).Value)
      Next
      mIdx=mIdx+1
    Next
  End Sub
End Module