在模式中使用字符串变量来表示正则表达式

时间:2014-12-10 15:40:47

标签: .net vb.net

我想从richtextbox1中将一些网址提取到listbox1。

网址是这样的:http://something.com/fixed_value/somethingelse/

我不知道如何使用更改的字符串变量(字符串,somethingelse)制作正确的正则表达式模式。

请帮帮我。

谢谢。

RichTextBox1.Text = theusercp

dim baseurl as string = "http://something.com/"
dim soelse as string = "somethingelse"

 Dim r As New System.Text.RegularExpressions.Regex(baseurl+"fixed_value/"+somethingelse)
'I have no idea what I'm doing with regex pattern.
'I have to combine baseurl/fixed_value/somethingelse to get the right urls.
'I hope to get the list of http://something.com/fixed_value/somethingelse/

 Dim matches As MatchCollection = r.Matches(theusercp)
 For Each itemcode As Match In matches
            ListBox1.Items.Add(itemcode.Value)
        Next

2 个答案:

答案 0 :(得分:1)

正则表达式具有可以以特殊方式使用的各种字符。可以找到一份好的备忘单here

要回答您的问题,请尝试以下方法:

Dim exp = (baseurl + "fixed_value/" + somethingelse).Replace("/", "\/")

Dim r As New System.Text.RegularExpressions.Regex(exp)

答案 1 :(得分:0)

将你的正则表达式设置为下面,看它是否有帮助..

  http://([A-Za-z0-9\-.]+)\/fixed_value/([A-Za-z0-9\-]+)\/$