diff --git a/lib/jasmine-core/jasmine-html.js b/lib/jasmine-core/jasmine-html.js
index da9ae1b4..5ca5f625 100644
--- a/lib/jasmine-core/jasmine-html.js
+++ b/lib/jasmine-core/jasmine-html.js
@@ -275,7 +275,8 @@ jasmineRequire.HtmlReporter = function(j$) {
jasmineRequire.HtmlSpecFilter = function() {
function HtmlSpecFilter(options) {
- var filterPattern = new RegExp(options && options.filterString());
+ var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+ var filterPattern = new RegExp(filterString);
this.matches = function(specName) {
return filterPattern.test(specName);
@@ -284,6 +285,7 @@ jasmineRequire.HtmlSpecFilter = function() {
return HtmlSpecFilter;
};
+
jasmineRequire.ResultsNode = function() {
function ResultsNode(result, type, parent) {
this.result = result;
@@ -349,4 +351,4 @@ jasmineRequire.QueryString = function() {
}
return QueryString;
-};
\ No newline at end of file
+};
diff --git a/src/html/HtmlSpecFilter.js b/src/html/HtmlSpecFilter.js
index bd65f63a..52e2b8fd 100644
--- a/src/html/HtmlSpecFilter.js
+++ b/src/html/HtmlSpecFilter.js
@@ -1,6 +1,7 @@
jasmineRequire.HtmlSpecFilter = function() {
function HtmlSpecFilter(options) {
- var filterPattern = new RegExp(options && options.filterString());
+ var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+ var filterPattern = new RegExp(filterString);
this.matches = function(specName) {
return filterPattern.test(specName);
@@ -8,4 +9,4 @@ jasmineRequire.HtmlSpecFilter = function() {
}
return HtmlSpecFilter;
-};
\ No newline at end of file
+};
diff --git a/src/html/QueryString.js b/src/html/QueryString.js
index 19dd1f58..c2d667bc 100644
--- a/src/html/QueryString.js
+++ b/src/html/QueryString.js
@@ -44,4 +44,4 @@ jasmineRequire.QueryString = function() {
}
return QueryString;
-};
\ No newline at end of file
+};