| Index: dart/sdk/lib/_internal/lib/string_helper.dart
|
| diff --git a/dart/sdk/lib/_internal/lib/string_helper.dart b/dart/sdk/lib/_internal/lib/string_helper.dart
|
| index 1c430c8574332582ce843571bddc029872736bc5..ba03364e705547ea51c1b5a9b68cfebc8ea7e850 100644
|
| --- a/dart/sdk/lib/_internal/lib/string_helper.dart
|
| +++ b/dart/sdk/lib/_internal/lib/string_helper.dart
|
| @@ -77,6 +77,8 @@ stringReplaceJS(receiver, replacer, to) {
|
| return JS('String', r'#.replace(#, #)', receiver, replacer, to);
|
| }
|
|
|
| +const String ESCAPE_REGEXP = r'[[\]{}()*+?.\\^$|]';
|
| +
|
| stringReplaceAllUnchecked(receiver, from, to) {
|
| checkString(to);
|
| if (from is String) {
|
| @@ -94,7 +96,7 @@ stringReplaceAllUnchecked(receiver, from, to) {
|
| return result.toString();
|
| }
|
| } else {
|
| - var quoter = JS('', "new RegExp(#, 'g')", r'[[\]{}()*+?.\\^$|]');
|
| + var quoter = JS('', "new RegExp(#, 'g')", ESCAPE_REGEXP);
|
| var quoted = JS('String', r'#.replace(#, "\\$&")', from, quoter);
|
| var replacer = JS('', "new RegExp(#, 'g')", quoted);
|
| return stringReplaceJS(receiver, replacer, to);
|
|
|