Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Angularjs 当使用区分大小写时,为什么deos正则表达式失败?_Angularjs_Regex_Angularjs Directive_Angularjs Scope_Angularjs Ng Repeat - Fatal编程技术网

Angularjs 当使用区分大小写时,为什么deos正则表达式失败?

Angularjs 当使用区分大小写时,为什么deos正则表达式失败?,angularjs,regex,angularjs-directive,angularjs-scope,angularjs-ng-repeat,Angularjs,Regex,Angularjs Directive,Angularjs Scope,Angularjs Ng Repeat,当使用区分大小写时,我的正则表达式失败 这很好:var re=newregexp(类型)针对“*pq*” 这给出了一个控制台错误:var re=new RegExp(类型为'i')针对“*pq*” 其次,当我通过在输入字段中键入来匹配“\”时,它给出了错误原因 这是我的密码: 此问题的任何更新?对于筛选,您不应使用-new RegExp()。因为它不会逃逸特殊字符,而这个字符在正则表达式中有特殊的含义 \在正则表达式中有特殊含义,还有其他字符需要转义 Like-\/可用于转义/。类似地,{,[

当使用区分大小写时,我的正则表达式失败

这很好:
var re=newregexp(类型)针对
“*pq*”

这给出了一个控制台错误:
var re=new RegExp(类型为'i')针对
“*pq*”

其次,当我通过在输入字段中键入来匹配“\”时,它给出了错误原因

这是我的密码:


此问题的任何更新?

对于筛选,您不应使用-
new RegExp()
。因为它不会逃逸特殊字符,而这个字符在正则表达式中有特殊的含义

\
在正则表达式中有特殊含义,还有其他字符需要转义

Like-
\/
可用于转义
/
。类似地,
{
[
等可以作为
\{
\[
转义

最好的选择是:

angular.forEach(items, function(item) {
    if(item.name.toLowerCase().indexOf(types.toLowerCase()) != -1) {
        console.log("matched")
        filtered.push(item);
    }
});
编辑
OP的自定义要求-

对于筛选,您不应该使用-
new RegExp()
。因为它不会转义在正则表达式中具有特殊含义的特殊字符

\
在正则表达式中有特殊含义,还有其他字符需要转义

类似的-
\/
可以用来转义
/
。类似的
{
[
等可以转义为
\{
\[

最好的选择是:

angular.forEach(items, function(item) {
    if(item.name.toLowerCase().indexOf(types.toLowerCase()) != -1) {
        console.log("matched")
        filtered.push(item);
    }
});
编辑
OP的自定义要求-

尝试读取错误。它可能包含有关问题的线索。是的模式不正确…请共享plunkerwhat
与“*pq*”
相对应的意思是什么?让我们尝试读取错误。它可能包含有关问题的线索。是的模式不正确…请共享plunkerwhat
与“*pq*”相对应的内容
mean?给我们看一个请共享的plunker?@user5711656,我已经做了更改,试试这个plunker…..你不需要“*”来匹配开始或其他的任何东西…如果这有帮助,请让我知道你的其他要求解释你为什么需要“*pq”etc和您要处理的所有其他不同情况我有四种情况…如果用户类型*pq..它显示所有以pq结尾的元素..请检查我的plunker输出..第二,如果用户类型
pq*
。它显示所有从pq开始的项目..请检查plunker第三,如果用户类型
pq*sv
。它显示所有从
开始的项目>pq
和with
sv
。哪一个工作正常..请检查plunker第四个如果用户键入
*abc*
它显示所有中间有abc项目的项目..在我的plunker中所有工作正常。但是有2个issue case Sensivive和“\”issue share plunker?@user5711656,我已经做了更改,请尝试此plunker….您不需要“*”要匹配起始或其他方面的任何内容…如果这有帮助,请让我知道其他情况,并解释您需要“*pq”的原因etc和您要处理的所有其他不同情况我有四种情况…如果用户类型*pq..它显示所有以pq结尾的元素..请检查我的plunker输出..第二,如果用户类型
pq*
。它显示所有从pq开始的项目..请检查plunker第三,如果用户类型
pq*sv
。它显示所有从
开始的项目>pq
和with
sv
。哪个运行正常..请检查PlunkerFirst如果用户键入
*abc*
它会显示所有中间有abc项目的项目..在我的plunker中,所有项目运行正常。但有2个问题案例敏感和“\”问题