Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从只匹配自身的字符串生成正则表达式_Javascript_Regex_Ecmascript 6 - Fatal编程技术网

Javascript 从只匹配自身的字符串生成正则表达式

Javascript 从只匹配自身的字符串生成正则表达式,javascript,regex,ecmascript-6,Javascript,Regex,Ecmascript 6,我想要一种从只匹配原始字符串的字符串生成正则表达式的方法 i、 e 基本上只需要转义任何特殊的正则表达式字符。然后创建一个RegExp对象 var input = 'babies/canfly?a=probably-not'; new RegExp(input.replace(/[^$]/g, "\$&")); 显然,在生成RegExp之前捕获和转义的特殊代码越多,它对不同输入的鲁棒性就越强。你可以用一个推荐人来确保你涵盖了一切。或者,您可以只覆盖您知道的任何可能的字符。这听起来很奇怪

我想要一种从只匹配原始字符串的字符串生成正则表达式的方法

i、 e


基本上只需要转义任何特殊的正则表达式字符。然后创建一个RegExp对象

var input = 'babies/canfly?a=probably-not';
new RegExp(input.replace(/[^$]/g, "\$&"));

显然,在生成RegExp之前捕获和转义的特殊代码越多,它对不同输入的鲁棒性就越强。你可以用一个推荐人来确保你涵盖了一切。或者,您可以只覆盖您知道的任何可能的字符。

这听起来很奇怪。你打算做什么?只做它,然后添加
^
$
。制作这个正则表达式的目的是什么?要么照georg说的做,要么直接比较字符串而不使用正则表达式,如果后者在你写的任何代码中都是可行的(我相信你有你的理由)。要在其他字符串中搜索字符串,可以使用indexOf()等方法,如果需要计算字符串匹配的时间,可以使用循环和indexOf()轻松完成,因为可以将起始索引作为第二个参数。
var input = 'babies/canfly?a=probably-not';
new RegExp(input.replace(/[^$]/g, "\$&"));