diff --git a/__main__.py b/__main__.py
index 2658b403b72a16a054140b629f9aa0f7c9fe3bbd..cab3aa34c034e43bd017d6aa570e0146d188b097 100755
--- a/__main__.py
+++ b/__main__.py
@@ -2,6 +2,7 @@
 
 import os
 import sys
+import re
 import json
 import subprocess
 import time
@@ -129,7 +130,7 @@ def main():
         test_filter = args.filter
         log(f"filtering tests by: {test_filter}")
         global TEST_SET
-        TEST_SET = [t for t in TEST_SET if test_filter in t.name]
+        TEST_SET = [t for t in TEST_SET if re.compile(test_filter).match(t.name)]
 
     if args.run_all:
         global FAIL_FAST