Javascript中是否存在RegExp.escape函数?

兰斯·波拉德(Lance Pollard):

我只想从任何可能的字符串中创建一个正则表达式。

var usersString = "Hello?!*`~World()[]";
var expression = new RegExp(RegExp.escape(usersString))
var matches = "Hello".match(expression);

有内置的方法吗?如果没有,人们会使用什么?红宝石有RegExp.escape我觉得我不需要自己写东西,那里肯定有一些标准。谢谢!

Bobince:

上面链接的功能不足。它无法转义^$(字符串的开头和结尾)或-,这在字符组中用于范围。

使用此功能:

function escapeRegex(string) {
    return string.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
}

乍看起来似乎没有必要,但转义-(以及^)使该函数适合于转义要插入字符类和正则表达式主体的字符。

转义/使该函数适合转义要在JS正则表达式文字中使用的字符,以供以后评估。

由于逃避任何一个都没有不利之处,因此有理由逃避以涵盖更广泛的用例。

是的,如果它不是标准JavaScript的一部分,这是令人失望的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

javascript,是否存在isArray之类的isObject函数?

如何检查JavaScript中是否存在函数?

检测Java中是否存在方法/函数

确定bash中是否存在函数

如何查找PostgreSQL中是否存在函数?

函数式编程中是否存在“算法”?

检查数组中是否存在函数

Oracle SQL中是否有HTF.ESCAPE_SC的内置逆函数?

检查打字稿中是否存在函数

在我的函数中应用Regex.Escape()以匹配两个字符串

$ this-> db-> escape()函数在codeigniter中添加单引号

Javascript:是否存在Slice()的负函数?

JavaScript给定的String是否作为变量和函数存在

JavaScript代码中的函数或事件存在问题

模板中是否存在成员函数指针

如何判断Typescript中是否存在函数

是否存在检查宏变量中是否存在元素的函数?

验证数组中是否存在元素的函数

检查函数参数是否存在并在JavaScript中键入

检查Java ScriptEngine中是否存在函数

从Javascript(没有JQuery)中,可以找到是否存在具有特定名称的函数吗?

javascript escape()函数是否支持UTF8字符

JavaScript函数检查变量是否存在以避免错误

最新版本的php中的mysql_real_escape_string()函数的选项是什么?

如何在php中反转mysql_escape_string函数?

模仿 Javascript escape() 函数

检查OCaml中是否存在函数

截断 psql 函数和调用函数中是否存在

Javascript 中的 Math.ceil 函数是否存在不从输出中删除小数的情况?