Imports System
Imports System.Text .RegularExpressions
Module Test
Sub Main( )
Dim regex As New Regex( "(?<=^[^:]*;\s*)[^\s:](?=[^:]*(?:$|:))" , RegexOptions.Multiline )
Dim input As String =
"[Foo][Bar]Foo bar foo bar: foo; bar: foo bar foo bar __" & vbCrlf &
"[Foo][Bar]Foo; bar: foo bar __ foo bar foo bar" & vbCrlf &
"[Foo]Foo bar foo bar foo bar: foo __ bar; foo bar __ foo bar" & vbCrlf &
"[Bar]Foo; bar; foo"
Console.WriteLine ( regex)
Console.WriteLine ( regex.Replace ( input, AddressOf ConvertToUppercase) )
End Sub
Function ConvertToUppercase( match As Match) As String
Return match.Groups ( 0 ) .Value .ToUpper ( )
End Function
End Module
SW1wb3J0cyBTeXN0ZW0KSW1wb3J0cyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMKCk1vZHVsZSBUZXN0CglTdWIgTWFpbigpCgkJRGltIHJlZ2V4IEFzIE5ldyBSZWdleCgiKD88PV5bXjpdKjtccyopW15cczpdKD89W146XSooPzokfDopKSIsIFJlZ2V4T3B0aW9ucy5NdWx0aWxpbmUpCgkJRGltIGlucHV0IEFzIFN0cmluZyA9CgkJCSJbRm9vXVtCYXJdRm9vIGJhciBmb28gYmFyOiBmb287IGJhcjogZm9vIGJhciBmb28gYmFyIF9fIiAmIHZiQ3JsZiAmCgkJCSJbRm9vXVtCYXJdRm9vOyBiYXI6IGZvbyBiYXIgX18gZm9vIGJhciBmb28gYmFyIiAmIHZiQ3JsZiAmCgkJCSJbRm9vXUZvbyBiYXIgZm9vIGJhciBmb28gYmFyOiBmb28gX18gYmFyOyBmb28gYmFyIF9fIGZvbyBiYXIiICYgdmJDcmxmICYKCQkJIltCYXJdRm9vOyBiYXI7IGZvbyIKCQkKCQlDb25zb2xlLldyaXRlTGluZShyZWdleCkKCQlDb25zb2xlLldyaXRlTGluZShyZWdleC5SZXBsYWNlKGlucHV0LCBBZGRyZXNzT2YgQ29udmVydFRvVXBwZXJjYXNlKSkKCUVuZCBTdWIKCQoJRnVuY3Rpb24gQ29udmVydFRvVXBwZXJjYXNlKG1hdGNoIEFzIE1hdGNoKSBBcyBTdHJpbmcKCQlSZXR1cm4gbWF0Y2guR3JvdXBzKDApLlZhbHVlLlRvVXBwZXIoKQoJRW5kIEZ1bmN0aW9uCkVuZCBNb2R1bGU=