我必须提取这些字符之间的所有内容:
<a href="/url?q=(text to extract whatever it is)&
我试过这种模式,但它不适合我:
/(?<=url\?q=).*?(?=&)/
我在Vb.net中编程,这是代码,但我认为问题是模式错误:
Dim matches As MatchCollection
matches = regex.Matches(TextBox1.Text)
For Each Match As Match In matches
listbox1.items.add(Match.Value)
Next
你能帮我吗?
答案 0 :(得分:2)
你的正则表达式似乎是正确的,除了斜杠(/
)在表达式的开头和结尾,删除它:
Dim regex = New Regex("(?<=url\?q=).*?(?=&)")
它应该有用。
某些实用程序和大多数语言使用/
(正斜杠)来开始和结束(取消限制或包含)其他人可能使用单引号的搜索表达式。使用System.Text.RegularExpressions.Regex
,您不需要它。
答案 1 :(得分:0)
下面的正则表达式代码将从您的文本(或任何其他)中提取所有网址:
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?