我的代码出现了标识符预期错误。为什么呢?
代码:
Dim inStream As StreamReader
Dim webRequest As WebRequest
Dim webresponse As WebResponse
webRequest = webRequest.Create("https://website.com/search?q=" + kicsereles + "&type=page&0&something=" + tokentext.Text)
webresponse = webRequest.GetResponse()
inStream = New StreamReader(webresponse.GetResponseStream())
RichTextBox2.Text = inStream.ReadToEnd()
For Each m As Match In New Regex("/:\s+"([\w\s.]+)"/g").Matches(RichTextBox2.Text)
ListBox6.Items.Add(m.Value)
Next
我的正则表达式代码:/:\s+"([\w\s.]+)"/g
谢谢。
答案 0 :(得分:0)
这里有几个问题:
您需要转义引号。在VB中,您可以通过加倍引号字符来完成此操作:
New Regex("/:\s+""([\w\s.]+)""/g")
但这仍然是错误的。
在.NET Regex
类中,您没有像PHP那样指定正则表达式选项。你有一个单独的枚举。并且g
修饰符不是必需的(它是确定您是想要所有匹配还是仅需要第一个匹配的API用法)。这是正确的电话:
New Regex(":\s+""([\w\s.]+)""")
我也相信你只想提取引号之间的值:
ListBox6.Items.Add(m.Groups(1).Value)
哦,请重命名您的控件,ListBox6
是一个非常糟糕的名字。
你应该关闭你的流:
Using inStream As StreamReader = New StreamReader(webresponse.GetResponseStream())
RichTextBox2.Text = inStream.ReadToEnd()
End Using