Fix regexp detection

In a case exprssion, `|` separates patterns so it needs to be quoted.
Also `\` was not actually part of the set since it was quoting another
character.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index 8adbdc3..3d5fa0d 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -1044,7 +1044,7 @@
 case "$FILTER" in
     '^$') simple_filter=;;
     '.*') simple_filter='*';;
-    *[][\$^+*?{|}]*) # Regexp special characters (other than .), we need grep
+    *[][$+*?\\^{\|}]*) # Regexp special characters (other than .), we need grep
         need_grep=1;;
     *) # No regexp or shell-pattern special character
         simple_filter="*$FILTER*";;
@@ -1052,7 +1052,7 @@
 case "$EXCLUDE" in
     '^$') simple_exclude=;;
     '.*') simple_exclude='*';;
-    *[][\$^+*?{|}]*) # Regexp special characters (other than .), we need grep
+    *[][$+*?\\^{\|}]*) # Regexp special characters (other than .), we need grep
         need_grep=1;;
     *) # No regexp or shell-pattern special character
         simple_exclude="*$EXCLUDE*";;