在coffeescript / javascript [复制]中使用正则表达式中的字符串中的'+'加号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在coffeescript / javascript [复制]中使用正则表达式中的字符串中的'+'加号相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我有一个正则表达式我正在运行以过滤表中的行。过滤在javascript中完成。
我正在写coffeescript,但是Javascript解决方案会很好 - 我可以将它自己翻译成coffeescript。
我有一个值role
,其中包含我想要使用正则表达式过滤的字符串。问题是字符串role
可能会或可能没有嵌入“+”符号。加号是正则表达式搜索的特殊字符,需要在搜索字符串中进行转义。
我像这样创建正则表达式搜索字符串(coffeescript):
"^"+role+"$"
我如何预处理role
以逃避任何'+'符号,以便正则表达式工作?
答案
+
远非唯一具有特殊意义的角色。这是一个将逃避所有必要字符的函数:
function regex_escape(str) {
return str.replace(new RegExp('[.\\+*?\[\^\]$(){}=!<>|:\-]', 'g'), '\$&');
}
以上是关于在coffeescript / javascript [复制]中使用正则表达式中的字符串中的'+'加号的主要内容,如果未能解决你的问题,请参考以下文章
没有 CoffeeScript 的 CoffeeScript 中的问号语法
NodeJS + CoffeeScript,根据要求渲染 CoffeeScript 编译的 js