Regex 使用正则表达式检查URL是否包含某些组件
如何检查“”的结构是否如下->在Visual Basic.NET中使用正则表达式?您可以尝试使用Regex 使用正则表达式检查URL是否包含某些组件,regex,vb.net,Regex,Vb.net,如何检查“”的结构是否如下->在Visual Basic.NET中使用正则表达式?您可以尝试使用http:\/\/.+\.php\?.+=.+\.php来匹配它。可以找到我用于测试的一些示例 它分解成您想要的不同组件,并将它们串在一起。要匹配字符串,可以使用+进行非贪婪捕获。这将帮助您匹配正则表达式的其余有效部分,如php处理 http:\//与您的http:// +\.php匹配字符串,后跟.php \?。+=匹配一个?字符串,后跟一个+和一个= +\.php最后再次找到一个字符串,后跟.p
http:\/\/.+\.php\?.+=.+\.php
来匹配它。可以找到我用于测试的一些示例
它分解成您想要的不同组件,并将它们串在一起。要匹配字符串
,可以使用+
进行非贪婪捕获。这将帮助您匹配正则表达式的其余有效部分,如php
处理
与您的http:\//
http://
匹配+\.php
字符串,后跟
.php
匹配一个\?。+=
字符串,后跟一个?
和一个+
=
最后再次找到一个+\.php
字符串,后跟
.php
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
每当我试图匹配它时,我的VB.NET就会冻结。@user2230481它是否会抛出任何错误消息?冷冻需要多长时间?您使用这个正则表达式的输入有多大?不,它不会立即出现9个字符。请您给我写一个示例代码来验证URL是否具有指定的内容?我的似乎显然失败了。你传递给它的字符串是什么?你是否试图验证路径以php结尾,而查询以php结尾?您看过Uri.GetComponents方法了吗?