diff options
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/RegExpObject.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/RegExpObject.cpp b/Userland/Libraries/LibJS/Runtime/RegExpObject.cpp index 40c7a6638f..955e18e879 100644 --- a/Userland/Libraries/LibJS/Runtime/RegExpObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/RegExpObject.cpp @@ -266,10 +266,26 @@ DeprecatedString RegExpObject::escape_regexp_pattern() const continue; } - if (code_point == '\r' || code_point == LINE_SEPARATOR || code_point == PARAGRAPH_SEPARATOR || code_point == '/') { - builder.append_code_point('\\'); + switch (code_point) { + case '/': + builder.append("\\/"sv); + break; + case '\n': + builder.append("\\n"sv); + break; + case '\r': + builder.append("\\r"sv); + break; + case LINE_SEPARATOR: + builder.append("\\u2028"sv); + break; + case PARAGRAPH_SEPARATOR: + builder.append("\\u2029"sv); + break; + default: + builder.append_code_point(code_point); + break; } - builder.append_code_point(code_point); } return builder.to_deprecated_string(); |