Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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 竖条符号在RegExp JS中不起作用_Javascript_Angularjs_Regex - Fatal编程技术网

Javascript 竖条符号在RegExp JS中不起作用

Javascript 竖条符号在RegExp JS中不起作用,javascript,angularjs,regex,Javascript,Angularjs,Regex,我想在最后一个RegExp中使用竖条符号“|” 我使用的是AngularJS 1.5.7$scope.outputValue是一个数组,我正在将其转换为字符串,然后实现两个不同的正则表达式: $scope.outputValue = $scope.outputValue.toString(); $scope.outputValue = $scope.outputValue.replace(/,/g, " | "); $scope.outputValue = $scope

我想在最后一个RegExp中使用竖条符号“|”

我使用的是AngularJS 1.5.7$scope.outputValue是一个数组,我正在将其转换为字符串,然后实现两个不同的正则表达式:

$scope.outputValue  =  $scope.outputValue.toString();
$scope.outputValue  =  $scope.outputValue.replace(/,/g, " | ");
$scope.outputValue  =  $scope
                       .replace(/[^A-Za-z0-9.+=-_\{\}/\\<>?;:"'`!@#$%^&*()\[\]]*$/, '');
变成这样:

var foo = "The quick brown fox jumps over the lazy dog";
问题是,只要我在上一个RegExp中添加垂直条,replace方法就不起作用。我以前尝试过用“\”符号来逃避它,但它也不起作用。我还尝试过其他包含所有键盘字符的regexp,但也没有成功。有没有什么方法可以修改现有的代码,因为它已经为我完成了工作,我只需要以某种方式插入垂直条


谢谢,Nenad

/[^A-Za-z0-9.+=-\{\\}/\?;:“`!@$%^&*”[\]*$/
模式中,必须将连字符放在字符类的末尾/开头。您可以尝试将
添加为
\u007C
。尝试
/[^A-Za-z0-9.+=-/\\\\\\\\\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*$/
你能创建一个JSFIDLE吗?看起来你必须避开反斜杠:
\/
这是一个正则表达式问题,不是吗?免责声明,至少您没有试图将html与regexp匹配。@LenilsondeCastro是的,这是regex问题。因此,您建议我使用“\\”转义而不是“\”转义?在正则表达式文字中,您需要使用单斜杠转义特殊的正则表达式元字符。即使在
ng模式中,您也可以使用单个反斜杠。在
/[^A-Za-z0-9.+=-\{\}/\?;:“``!@$%^&*(\[\]]*$/$/
模式中,连字符必须放在字符类的末尾/开头。您可以尝试将
作为
\u007C
添加。请尝试
/[^A-Za-z0-9.+=-\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*$/
你能创建一个JSFIDLE吗?看起来你必须避开反斜杠:
\/
这是一个正则表达式问题,不是吗?免责声明,至少您没有试图将html与regexp匹配。@LenilsondeCastro是的,这是regex问题。因此,您建议我使用“\\”转义而不是“\”转义?在正则表达式文字中,您需要使用单斜杠转义特殊的正则表达式元字符。即使在
ng模式中
,也可以使用单个反斜杠。
var foo = "The quick brown fox jumps over the lazy dog";