How to match a string not containing a substring using RegEx in VB.NET

1 Answer

0 votes
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
' 

 



answered Feb 27, 2025 by avibootz

Related questions

...