diff --git a/syntaxes/classicalb.tmLanguage.json b/syntaxes/classicalb.tmLanguage.json
index ecdabb23e0b95c8238eb25c6f479dae0de199ccc..2cfef9a4c81519f62dda6a19a8a8aebe37e67c09 100644
--- a/syntaxes/classicalb.tmLanguage.json
+++ b/syntaxes/classicalb.tmLanguage.json
@@ -137,7 +137,7 @@
 			"name": "string.quoted.backtickTriple.classicalb",
 			"patterns": [
 			  {
-				  "match": "\\$(\\[.*\\])?\\{.*\\}",
+				  "match": "\\$(\\[[^${}\\[\\]]*\\])?\\{[^${}\\[\\]]*\\}",
 				  "name": "constant.character.escape.template.classicalb"
 			  }
 			]
diff --git a/syntaxes/rmchAddOn.tmLanguage.json b/syntaxes/rmchAddOn.tmLanguage.json
index 32eb1d19d4aaceeffd1956c0bebb6f62efa28784..eb732c26f608dc1964803f914f205ba88a3135a7 100644
--- a/syntaxes/rmchAddOn.tmLanguage.json
+++ b/syntaxes/rmchAddOn.tmLanguage.json
@@ -143,7 +143,7 @@
 			"name": "string.quoted.backtickTriple.rmchAddOn",
 			"patterns": [
 			  {
-				  "match": "\\$(\\[.*\\])?\\{.*\\}",
+				  "match": "\\$(\\[[^${}\\[\\]]*\\])?\\{[^${}\\[\\]]*\\}",
 				  "name": "constant.character.escape.template.rmchAddOn"
 			  }
 		    ]