读书人

怎么用正则表达式获取字符串中两区间内

发布时间: 2013-12-16 23:49:16 作者: rapoo

求助如何用正则表达式获取字符串中两区间内容
内容是这些
Public Function Showit(ByVal tt As string)
msgbox tt
End Function

Public Function Setit(ByVal tt2 As string)
text1.text=tt2
End Function

我想获取到Showit和Setit

自己试了下用这句Function(.*?)ByVal,但获取的内容确实
Function Showit(ByVal
Function Setit(ByVal
万分感谢您的帮助 vb正则
[解决办法]


'此代码由“正则测试工具 v1.1.35”自动生成,请直接调用TestReg过程
Private Sub TestReg()
Dim strData As String
Dim reg As Object
Dim matchs As Object, match As Object

strData = "Public Function Showit(ByVal tt As string)" & vbCrLf & _
"msgbox tt" & vbCrLf & _
"End Function" & vbCrLf & _
"Public Function Setit(ByVal tt2 As string)" & vbCrLf & _
"text1.text=tt2" & vbCrLf & _
"End Function"

Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.IgnoreCase = True
reg.MultiLine = True
reg.Pattern = "Function (.*?)\(ByVal"
Set matchs = reg.Execute(strData)
For Each match In matchs
'Debug.Print match.Value
Debug.Print match.SubMatches(0)
Next
End Sub

[解决办法]
(?<=Function\s).*?(?=ByVal)
[解决办法]
(?<=Function\s)w+?(?=ByVal)
[解决办法]
版主没有将括号考虑在内哦,你试试这个“(?<=Function\s)\w+(?=\(ByVal)”。

读书人网 >VB

热点推荐