我现在很急很急,我都研究一天了,都不知道是哪里的问题,只好过来求助
不做伸手党,但是也没有办法,希望大家可以帮助下我。
我做一个程序,在里面想用正则把网页的标题提取出来,但是不能提取干净的标题,必须带有<title>才可以,郁闷。
程序源码
Function TestRegExp(myPattern As String, myString As String)
Dim objRegExp As RegExp '定义对象
Dim objMatch As Match
Dim colMatches As MatchCollection '对象包含有关匹配字符串的信息
Dim RetStr As String
Dim hanzi As String
Set objRegExp = New RegExp
objRegExp.Pattern = myPattern '传入参数,用来定义正则表达式
objRegExp.IgnoreCase = True
objRegExp.Global = True
If objRegExp.Test(myString) Then '正则表达式与字符串成功匹配
Set colMatches = objRegExp.Execute(myString)
For Each objMatch In colMatches
hanzi = objMatch.Value
Text2.Text = Text2.Text & hanzi & vbCrLf
Next
Else
RetStr = "String Matching Failed"
End If
TestRegExp = RetStr
End Function
Private Sub Command1_Click()
On Error Resume Next
If Text3.Text = "" Then
MsgBox "请填写正则表达式", vbAbortRetryIgnore
Else Dim a
a = (TestRegExp(Text3.Text, Web1.Document.documentElement.innerHTML))
End If
End Sub Private Sub Command2_Click()
On Error Resume Next
Web1.Navigate2 (Text1.Text)
End Sub Private Sub Form_Load()
On Error Resume Next
Web1.Navigate2 ("http://www.paipai.com")
'a = Web1.Document.documentElement.innerHTML 网页内容
End Sub Private Sub Form_Resize()
On Error Resume Next
Web1.Height = Form1.Height - 1000
Web1.Width = Form1.Width - 3200
Text2.Height = Form1.Height - 1200
Text2.Left = Form1.Width - 3000 End Sub Private Sub Web1_NewWindow2(ppDisp As Object, Cancel As Boolean)
'On Error Resume Next
On Error Resume Next
Cancel = True
Web1.Navigate2 Web1.Document.activeelement.href
End Sub
程序界面

把图片右键另存为,保存把后缀改成rar格式,可以下载源程序。
如果我写正则(?<=<title>).*(?=</title>) 提取不到标题,但是在测试器里面可以使用

我在程序里写<title>.*</title>才可以提取的到
不过<title>和</title>不是我想要的。
请大神看下怎么解决。
在线等
坐板凳等。
不做伸手党,但是也没有办法,希望大家可以帮助下我。
我做一个程序,在里面想用正则把网页的标题提取出来,但是不能提取干净的标题,必须带有<title>才可以,郁闷。
程序源码
Function TestRegExp(myPattern As String, myString As String)
Dim objRegExp As RegExp '定义对象
Dim objMatch As Match
Dim colMatches As MatchCollection '对象包含有关匹配字符串的信息
Dim RetStr As String
Dim hanzi As String
Set objRegExp = New RegExp
objRegExp.Pattern = myPattern '传入参数,用来定义正则表达式
objRegExp.IgnoreCase = True
objRegExp.Global = True
If objRegExp.Test(myString) Then '正则表达式与字符串成功匹配
Set colMatches = objRegExp.Execute(myString)
For Each objMatch In colMatches
hanzi = objMatch.Value
Text2.Text = Text2.Text & hanzi & vbCrLf
Next
Else
RetStr = "String Matching Failed"
End If
TestRegExp = RetStr
End Function
Private Sub Command1_Click()
On Error Resume Next
If Text3.Text = "" Then
MsgBox "请填写正则表达式", vbAbortRetryIgnore
Else Dim a
a = (TestRegExp(Text3.Text, Web1.Document.documentElement.innerHTML))
End If
End Sub Private Sub Command2_Click()
On Error Resume Next
Web1.Navigate2 (Text1.Text)
End Sub Private Sub Form_Load()
On Error Resume Next
Web1.Navigate2 ("http://www.paipai.com")
'a = Web1.Document.documentElement.innerHTML 网页内容
End Sub Private Sub Form_Resize()
On Error Resume Next
Web1.Height = Form1.Height - 1000
Web1.Width = Form1.Width - 3200
Text2.Height = Form1.Height - 1200
Text2.Left = Form1.Width - 3000 End Sub Private Sub Web1_NewWindow2(ppDisp As Object, Cancel As Boolean)
'On Error Resume Next
On Error Resume Next
Cancel = True
Web1.Navigate2 Web1.Document.activeelement.href
End Sub
程序界面

把图片右键另存为,保存把后缀改成rar格式,可以下载源程序。
如果我写正则(?<=<title>).*(?=</title>) 提取不到标题,但是在测试器里面可以使用

我在程序里写<title>.*</title>才可以提取的到
不过<title>和</title>不是我想要的。
请大神看下怎么解决。
在线等
坐板凳等。