refactor detail::JsRegExp