diff --git a/tests/data/test-diff-suppr/libtest31.suppr b/tests/data/test-diff-suppr/libtest31.suppr
index 57929eca..3fe933a6 100644
--- a/tests/data/test-diff-suppr/libtest31.suppr
+++ b/tests/data/test-diff-suppr/libtest31.suppr
@@ -1,3 +1,3 @@
 [suppress_function]
   drop = yes
-  name_regexp = hidden::.*
+  name_regexp = ^hidden::
diff --git a/tests/data/test-diff-suppr/libtest32-0.suppr b/tests/data/test-diff-suppr/libtest32-0.suppr
index b79bb965..04179b48 100644
--- a/tests/data/test-diff-suppr/libtest32-0.suppr
+++ b/tests/data/test-diff-suppr/libtest32-0.suppr
@@ -1,3 +1,3 @@
 [suppress_function]
-  name_not_regexp = ^pub::.*
+  name_not_regexp = ^pub::
   drop_artifact = true
diff --git a/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-2.txt b/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-2.txt
index c9b7ad46..7d99a709 100644
--- a/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-2.txt
+++ b/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-2.txt
@@ -1,2 +1,2 @@
 [suppress_file]
-  soname_regexp = test48<typo>-soname-abixml-v.*
+  soname_regexp = test48<typo>-soname-abixml-v
diff --git a/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-3.txt b/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-3.txt
index c69c2504..64470ca4 100644
--- a/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-3.txt
+++ b/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-3.txt
@@ -1,2 +1,2 @@
 [suppress_file]
-  file_name_regexp = ^libtest48-soname-abixml-v.*$
+  file_name_regexp = (^|/)libtest48-soname-abixml-v
diff --git a/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-4.txt b/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-4.txt
index 1a205275..dd4235f9 100644
--- a/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-4.txt
+++ b/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr-4.txt
@@ -1,2 +1,2 @@
 [suppress_file]
-  file_name_regexp = ^libtest48<typo>-soname-abixml-v.*$
+  file_name_regexp = (^|/)libtest48<typo>-soname-abixml-v
diff --git a/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr.txt b/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr.txt
index 08d61c0f..bc44c4fd 100644
--- a/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr.txt
+++ b/tests/data/test-diff-suppr/libtest48-soname-abixml-suppr.txt
@@ -1,2 +1,2 @@
 [suppress_file]
-  soname_regexp = test48-soname-abixml-v.*
+  soname_regexp = test48-soname-abixml-v
diff --git a/tests/data/test-diff-suppr/test0-type-suppr-0.suppr b/tests/data/test-diff-suppr/test0-type-suppr-0.suppr
index be876c77..151005e1 100644
--- a/tests/data/test-diff-suppr/test0-type-suppr-0.suppr
+++ b/tests/data/test-diff-suppr/test0-type-suppr-0.suppr
@@ -1,2 +1,2 @@
 [suppress_type]
-  name_regexp = .*Private$
+  name_regexp = Private$
diff --git a/tests/data/test-diff-suppr/test0-type-suppr-3.suppr b/tests/data/test-diff-suppr/test0-type-suppr-3.suppr
index b84fcc41..eb63bc53 100644
--- a/tests/data/test-diff-suppr/test0-type-suppr-3.suppr
+++ b/tests/data/test-diff-suppr/test0-type-suppr-3.suppr
@@ -1,5 +1,3 @@
 [suppress_file]
-  #
   # Do not load files test0-type-suppr-v0.o or test0-type-suppr-v1.o
-  #
-  file_name_regexp = (test0-type-suppr-v0.o|test0-type-suppr-v1.o)
+  file_name_regexp = (^|/)(test0-type-suppr-v0\\.o|test0-type-suppr-v1\\.o)$
diff --git a/tests/data/test-diff-suppr/test0-type-suppr-4.suppr b/tests/data/test-diff-suppr/test0-type-suppr-4.suppr
index 32552acb..5d122b4e 100644
--- a/tests/data/test-diff-suppr/test0-type-suppr-4.suppr
+++ b/tests/data/test-diff-suppr/test0-type-suppr-4.suppr
@@ -1,5 +1,4 @@
 [suppress_file]
-  # Do not load files foo.o.  This is practically going to allow the
+  # Do not load files *foo.o*.  This is practically going to allow the
   # loading of files test0-type-suppr-v0.o and test0-type-suppr-v1.o.
-  file_name_regexp = foo.*
-
+  file_name_regexp = foo\\.o
diff --git a/tests/data/test-diff-suppr/test0-type-suppr-5.suppr b/tests/data/test-diff-suppr/test0-type-suppr-5.suppr
index 1fa3b1ce..0a06e8d0 100644
--- a/tests/data/test-diff-suppr/test0-type-suppr-5.suppr
+++ b/tests/data/test-diff-suppr/test0-type-suppr-5.suppr
@@ -1,6 +1,5 @@
 [suppress_file]
-  # Avoid loading files which name does *NOT* match the regexp name
-  # foo.* This is practically going to forbid the loading of files
+  # Avoid loading files which name does *NOT* match *foo.o*.
+  # This is practically going to forbid the loading of files
   # test0-type-suppr-v0.o and test0-type-suppr-v1.o
-  file_name_not_regexp = foo.*
-
+  file_name_not_regexp = foo\\.o
diff --git a/tests/data/test-diff-suppr/test0-type-suppr-6.suppr b/tests/data/test-diff-suppr/test0-type-suppr-6.suppr
index ee297fff..c0c5d078 100644
--- a/tests/data/test-diff-suppr/test0-type-suppr-6.suppr
+++ b/tests/data/test-diff-suppr/test0-type-suppr-6.suppr
@@ -1,5 +1,3 @@
 [suppress_file]
-  # Avoid loading files which name does *NOT* match the regexp name
-  # foo.* This is practically going to forbid the loading of files
-  # test0-type-suppr-v0.o and test0-type-suppr-v1.o
-  file_name_not_regexp = (test0-type-suppr-v0.o|test0-type-suppr-v1.o)
+  # Only load files test0-type-suppr-v0.o or test0-type-suppr-v1.o
+  file_name_not_regexp = (^|/)(test0-type-suppr-v0\\.o|test0-type-suppr-v1\\.o)$
diff --git a/tests/data/test-diff-suppr/test17-suppr-added-var-0.suppr b/tests/data/test-diff-suppr/test17-suppr-added-var-0.suppr
index 0ecaea27..9f24f89f 100644
--- a/tests/data/test-diff-suppr/test17-suppr-added-var-0.suppr
+++ b/tests/data/test-diff-suppr/test17-suppr-added-var-0.suppr
@@ -1,2 +1,2 @@
 [suppress_variable]
-  name_regexp = .*var.$
+  name_regexp = var.$
diff --git a/tests/data/test-diff-suppr/test17-suppr-added-var-1.suppr b/tests/data/test-diff-suppr/test17-suppr-added-var-1.suppr
index d0321556..0024c66b 100644
--- a/tests/data/test-diff-suppr/test17-suppr-added-var-1.suppr
+++ b/tests/data/test-diff-suppr/test17-suppr-added-var-1.suppr
@@ -1,3 +1,3 @@
 [suppress_variable]
-  name_regexp = .*var.$
+  name_regexp = var.$
   change_kind = added-variable
diff --git a/tests/data/test-diff-suppr/test17-suppr-added-var-2.suppr b/tests/data/test-diff-suppr/test17-suppr-added-var-2.suppr
index 42f55bbc..fabf4e25 100644
--- a/tests/data/test-diff-suppr/test17-suppr-added-var-2.suppr
+++ b/tests/data/test-diff-suppr/test17-suppr-added-var-2.suppr
@@ -1,3 +1,3 @@
 [suppress_variable]
-  name_regexp = .*var.$
+  name_regexp = var.$
   change_kind = variable-subtype-change
diff --git a/tests/data/test-diff-suppr/test17-suppr-added-var-3.suppr b/tests/data/test-diff-suppr/test17-suppr-added-var-3.suppr
index 7ad5cacb..3f2a565c 100644
--- a/tests/data/test-diff-suppr/test17-suppr-added-var-3.suppr
+++ b/tests/data/test-diff-suppr/test17-suppr-added-var-3.suppr
@@ -1,3 +1,3 @@
 [suppress_variable]
-  name_regexp = .*var.$
+  name_regexp = var.$
   change_kind = all
diff --git a/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-0.suppr b/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-0.suppr
index 61f4a6a7..f86ea294 100644
--- a/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-0.suppr
+++ b/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-0.suppr
@@ -1,3 +1,3 @@
 [suppress_function]
-  symbol_name_regexp = _Z3.*
+  symbol_name_regexp = ^_Z3
   change_kind = deleted-function
diff --git a/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-3.suppr b/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-3.suppr
index a32db428..0c2e2c21 100644
--- a/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-3.suppr
+++ b/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-3.suppr
@@ -1,3 +1,3 @@
 [suppress_function]
-  symbol_name_regexp = _Z.*
-  change_kind = all
\ No newline at end of file
+  symbol_name_regexp = ^_Z
+  change_kind = all
diff --git a/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-4.suppr b/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-4.suppr
index 21387c5c..a0562842 100644
--- a/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-4.suppr
+++ b/tests/data/test-diff-suppr/test20-suppr-removed-fn-sym-4.suppr
@@ -1,2 +1,2 @@
 [suppress_function]
-  symbol_name_regexp = _Z.*
+  symbol_name_regexp = ^_Z
diff --git a/tests/data/test-diff-suppr/test23-alias-filter-1.suppr b/tests/data/test-diff-suppr/test23-alias-filter-1.suppr
index c0ffa797..3c0788c5 100644
--- a/tests/data/test-diff-suppr/test23-alias-filter-1.suppr
+++ b/tests/data/test-diff-suppr/test23-alias-filter-1.suppr
@@ -1,3 +1,3 @@
 [suppress_function]
-  name_regexp = ^__private_.*
+  name_regexp = ^__private_
   allow_other_aliases = yes
diff --git a/tests/data/test-diff-suppr/test23-alias-filter-2.suppr b/tests/data/test-diff-suppr/test23-alias-filter-2.suppr
index e8660292..c7d4220e 100644
--- a/tests/data/test-diff-suppr/test23-alias-filter-2.suppr
+++ b/tests/data/test-diff-suppr/test23-alias-filter-2.suppr
@@ -1,3 +1,3 @@
 [suppress_function]
-  name_regexp = ^__private_.*
+  name_regexp = ^__private_
   allow_other_aliases = no
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-10.txt b/tests/data/test-diff-suppr/test24-soname-suppr-10.txt
index 004952fe..75103163 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-10.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-10.txt
@@ -1,3 +1,3 @@
 [suppress_type]
-  file_name_not_regexp = libtest24-soname.*\\.so
+  file_name_not_regexp = (^|/)libtest24-soname.*\\.so
 
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-11.txt b/tests/data/test-diff-suppr/test24-soname-suppr-11.txt
index 0f5db1d1..d1baf90c 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-11.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-11.txt
@@ -1,3 +1,3 @@
 [suppress_function]
-  file_name_not_regexp = libtest24-soname-wrong-name.*\\.so
+  file_name_not_regexp = (^|/)libtest24-soname-wrong-name.*\\.so
 
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-12.txt b/tests/data/test-diff-suppr/test24-soname-suppr-12.txt
index 59a14335..3e6c4e97 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-12.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-12.txt
@@ -1,2 +1,2 @@
 [suppress_function]
-  file_name_not_regexp = libtest24-soname.*\\.so
+  file_name_not_regexp = (^|/)libtest24-soname.*\\.so
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-2.txt b/tests/data/test-diff-suppr/test24-soname-suppr-2.txt
index 439321d8..65b50fbb 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-2.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-2.txt
@@ -1,4 +1,4 @@
 [suppress_type]
-  file_name_regexp = .*/libtest24-soname-v0.so$
+  file_name_regexp = (^|/)libtest24-soname-v0\\.so$
   name = S
   reached_through = reference_or_pointer
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-3.txt b/tests/data/test-diff-suppr/test24-soname-suppr-3.txt
index 1e23370e..f72fd141 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-3.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-3.txt
@@ -1,4 +1,4 @@
 [suppress_type]
-  file_name_regexp = .*/libtest24-soname-v1.so$
+  file_name_regexp = (^|/)libtest24-soname-v1\\.so$
   name = S
   reached_through = reference_or_pointer
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-4.txt b/tests/data/test-diff-suppr/test24-soname-suppr-4.txt
index 1893ae6e..29a0b6ec 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-4.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-4.txt
@@ -1,4 +1,4 @@
 [suppress_type]
-  file_name_regexp = ^libtest24-soname-<wrong-file-name>.so$
+  file_name_regexp = (^|/)libtest24-soname-<wrong-file-name>\\.so$
   name = S
   reached_through = reference_or_pointer
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-6.txt b/tests/data/test-diff-suppr/test24-soname-suppr-6.txt
index aae7f346..d10956ea 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-6.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-6.txt
@@ -1,2 +1,2 @@
 [suppress_function]
-  file_name_regexp = libtest24-soname.*\\.so
+  file_name_regexp = (^|/)libtest24-soname.*\\.so
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-8.txt b/tests/data/test-diff-suppr/test24-soname-suppr-8.txt
index 15292cd4..53028b91 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-8.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-8.txt
@@ -1,2 +1,2 @@
 [suppress_type]
-  file_name_regexp = libtest24-soname.*\\.so
+  file_name_regexp = (^|/)libtest24-soname.*\\.so
diff --git a/tests/data/test-diff-suppr/test24-soname-suppr-9.txt b/tests/data/test-diff-suppr/test24-soname-suppr-9.txt
index c5dc2562..23d15d4d 100644
--- a/tests/data/test-diff-suppr/test24-soname-suppr-9.txt
+++ b/tests/data/test-diff-suppr/test24-soname-suppr-9.txt
@@ -1,3 +1,3 @@
 [suppress_type]
-  file_name_not_regexp = libtest24-soname-wrong-name.*\\.so
+  file_name_not_regexp = (^|/)libtest24-soname-wrong-name.*\\.so$
 
diff --git a/tests/data/test-diff-suppr/test26-loc-suppr-1.suppr b/tests/data/test-diff-suppr/test26-loc-suppr-1.suppr
index b0c0675f..734bbe1d 100644
--- a/tests/data/test-diff-suppr/test26-loc-suppr-1.suppr
+++ b/tests/data/test-diff-suppr/test26-loc-suppr-1.suppr
@@ -1,2 +1,2 @@
 [suppress_type]
-  source_location_not_regexp = test26-loc.*\\.h
+  source_location_not_regexp = (^|/)test26-loc.*\\.h$
diff --git a/tests/data/test-diff-suppr/test26-loc-suppr-2.suppr b/tests/data/test-diff-suppr/test26-loc-suppr-2.suppr
index 282702c6..576d87c6 100644
--- a/tests/data/test-diff-suppr/test26-loc-suppr-2.suppr
+++ b/tests/data/test-diff-suppr/test26-loc-suppr-2.suppr
@@ -1,2 +1,2 @@
 [suppress_type]
-  source_location_not_regexp = test26-loc.*\\.cc
+  source_location_not_regexp = (^|/)test26-loc.*\\.cc$
diff --git a/tests/data/test-diff-suppr/test29-suppr-1.txt b/tests/data/test-diff-suppr/test29-suppr-1.txt
index 14012181..19a270f5 100644
--- a/tests/data/test-diff-suppr/test29-suppr-1.txt
+++ b/tests/data/test-diff-suppr/test29-suppr-1.txt
@@ -1,2 +1,2 @@
 [suppress_variable]
-  file_name_regexp = libtest29-soname.*\\.so
+  file_name_regexp = (^|/)libtest29-soname.*\\.so$
diff --git a/tests/data/test-diff-suppr/test29-suppr-5.txt b/tests/data/test-diff-suppr/test29-suppr-5.txt
index c195ede5..2d6efeb6 100644
--- a/tests/data/test-diff-suppr/test29-suppr-5.txt
+++ b/tests/data/test-diff-suppr/test29-suppr-5.txt
@@ -1,3 +1,3 @@
 [suppress_variable]
-  file_name_not_regexp = ^libtest29-soname-wrong.*\\.so$
+  file_name_not_regexp = (^|/)libtest29-soname-wrong.*\\.so$
 
diff --git a/tests/data/test-diff-suppr/test29-suppr-6.txt b/tests/data/test-diff-suppr/test29-suppr-6.txt
index 55cfbc76..4d8c8d1b 100644
--- a/tests/data/test-diff-suppr/test29-suppr-6.txt
+++ b/tests/data/test-diff-suppr/test29-suppr-6.txt
@@ -1,3 +1,3 @@
 [suppress_variable]
-  file_name_not_regexp = .*libtest29-soname.*\\.so$
+  file_name_not_regexp = (^|/)libtest29-soname.*\\.so$
 
diff --git a/tests/data/test-diff-suppr/test29-suppr-7.txt b/tests/data/test-diff-suppr/test29-suppr-7.txt
index ba799b3e..5c0aa653 100644
--- a/tests/data/test-diff-suppr/test29-suppr-7.txt
+++ b/tests/data/test-diff-suppr/test29-suppr-7.txt
@@ -1,2 +1,2 @@
 [suppress_type]
-  file_name_not_regexp = ^libtest29-soname-wrong.*\\.so$
+  file_name_not_regexp = (^|/)libtest29-soname-wrong.*\\.so$
diff --git a/tests/data/test-diff-suppr/test29-suppr-8.txt b/tests/data/test-diff-suppr/test29-suppr-8.txt
index 6c86f5b8..cc8b20e6 100644
--- a/tests/data/test-diff-suppr/test29-suppr-8.txt
+++ b/tests/data/test-diff-suppr/test29-suppr-8.txt
@@ -1,2 +1,2 @@
 [suppress_type]
-  file_name_not_regexp = .*libtest29-soname.*\\.so$
+  file_name_not_regexp = (^|/)libtest29-soname.*\\.so$
diff --git a/tests/data/test-diff-suppr/test33-suppr-1.txt b/tests/data/test-diff-suppr/test33-suppr-1.txt
index 32d46796..069e345d 100644
--- a/tests/data/test-diff-suppr/test33-suppr-1.txt
+++ b/tests/data/test-diff-suppr/test33-suppr-1.txt
@@ -1,4 +1,4 @@
 [suppress_type]
   type_kind = class
-  source_location_not_regexp = test33-v\[0-9\]*\\.h
+  source_location_not_regexp = (^|/)test33-v[0-9]*\\.h$
   drop = true
diff --git a/tests/data/test-diff-suppr/test38-char-class-in-ini.abignore b/tests/data/test-diff-suppr/test38-char-class-in-ini.abignore
index 07f3f91f..9318d513 100644
--- a/tests/data/test-diff-suppr/test38-char-class-in-ini.abignore
+++ b/tests/data/test-diff-suppr/test38-char-class-in-ini.abignore
@@ -1,4 +1,4 @@
 [suppress_function]
- filename_regexp = ^test38-char-class-in-ini-v[[:digit:]].*
+ file_name_regexp = (^|/)test38-char-class-in-ini-v[[:digit:]]
  symbol_name_regexp = bar
  change_kind = added-function
diff --git a/tests/data/test-diff-suppr/test4-local-suppr-0.suppr b/tests/data/test-diff-suppr/test4-local-suppr-0.suppr
index b7c6271b..d917d350 100644
--- a/tests/data/test-diff-suppr/test4-local-suppr-0.suppr
+++ b/tests/data/test-diff-suppr/test4-local-suppr-0.suppr
@@ -1,3 +1,3 @@
 [suppress_type]
   # Types whose name start with "private" should not be flagged
-  name_regexp = ^private.*
+  name_regexp = ^private
diff --git a/tests/data/test-diff-suppr/test6-fn-suppr-1.suppr b/tests/data/test-diff-suppr/test6-fn-suppr-1.suppr
index 0bead6d7..f6a361db 100644
--- a/tests/data/test-diff-suppr/test6-fn-suppr-1.suppr
+++ b/tests/data/test-diff-suppr/test6-fn-suppr-1.suppr
@@ -1,2 +1,2 @@
 [suppress_function]
-  symbol_version_regexp = VERSION_1\.*
+  symbol_version_regexp = ^VERSION_1
diff --git a/tests/data/test-diff-suppr/test7-var-suppr-9.suppr b/tests/data/test-diff-suppr/test7-var-suppr-9.suppr
index cbe8b0bc..5d0bdd70 100644
--- a/tests/data/test-diff-suppr/test7-var-suppr-9.suppr
+++ b/tests/data/test-diff-suppr/test7-var-suppr-9.suppr
@@ -1,7 +1,7 @@
 [suppress_function]
 # This one shouldn't catch anything, but it must be parsed fine.
-  symbol_version_regexp = ^VERSION_\[0-9\]\\.\[0-9\]$
+  symbol_version_regexp = ^VERSION_[0-9]\\.[0-9]$
 
 [suppress_variable]
 # This one should be parsed fine too.
-  symbol_version_regexp = ^VERSION_\[0-9\]\\.\[0-9\]$
\ No newline at end of file
+  symbol_version_regexp = ^VERSION_[0-9]\\.[0-9]$
