Javascript 竖条符号在RegExp JS中不起作用
我想在最后一个RegExp中使用竖条符号“|” 我使用的是AngularJS 1.5.7$scope.outputValue是一个数组,我正在将其转换为字符串,然后实现两个不同的正则表达式: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
$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";