vba正则表达式:点匹配换行符

时间:2012-04-24 11:57:13

标签: regex vba

我希望匹配(在此代码段中)所有内容,但不包括我认为的换行符。会做。请问有人能说清楚我错过的东西。

Public Sub regexp()

Dim oRegExp As regexp
Dim oMatches As MatchCollection
Dim oMatch As Match
Dim sString As String

sString = _
    "one" & vbNewLine & _
    "two" & vbNewLine

Set oRegExp = New regexp
With oRegExp
    .Global = True
    .Pattern = ".+"
    Set oMatches = .Execute(sString)
    For Each oMatch In oMatches
        Debug.Print "*" & oMatch.Value & "*"
    Next oMatch
End With

End Sub

输出

*one
*
*two
*

预期输出

*one*
*two*

如何避免输出中的换行符?感谢。

1 个答案:

答案 0 :(得分:7)

如果您使用[^\n]代替.,它将匹配除新行字符之外的任何字符