Imports System
Imports System.Text.RegularExpressions
' ^: Matches the beginning of the string
' (?!notype): asserts that the current position in the string is not followed by the
' substring "notype"
' .: Matches any single character (except newline characters)
' *: Matches the preceding group (((?!notype).)) zero or more times
' $: Matches the end of the string
Public Class Program
Public Shared Function StringNotContainingSubstring(ByVal pattern As String, ByVal text As String) As Boolean
Dim re As Regex = New Regex(pattern, RegexOptions.IgnoreCase)
Return re.IsMatch(text)
End Function
Public Shared Sub Main()
Dim pattern As String = "^((?!notype).)*$"
Console.WriteLine(StringNotContainingSubstring(pattern, " notype"))
Console.WriteLine(StringNotContainingSubstring(pattern, "notype "))
Console.WriteLine(StringNotContainingSubstring(pattern, "notypevar"))
Console.WriteLine(StringNotContainingSubstring(pattern, "anotypevar"))
Console.WriteLine(StringNotContainingSubstring(pattern, "anotype"))
Console.WriteLine(StringNotContainingSubstring(pattern, "The only approval you need is your own"))
Console.WriteLine(StringNotContainingSubstring(pattern, "Follow your dreams"))
Console.WriteLine(StringNotContainingSubstring(pattern, "Never regret anything that made you smile"))
Console.WriteLine(StringNotContainingSubstring(pattern, "A programming language"))
End Sub
End Class
' run:
'
' False
' False
' False
' False
' False
' True
' True
' True
' True
'