Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/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
Javascript 如何使用Angular2中的正则表达式制作管道?_Javascript_Regex_Angular_Angular2 Pipe - Fatal编程技术网

Javascript 如何使用Angular2中的正则表达式制作管道?

Javascript 如何使用Angular2中的正则表达式制作管道?,javascript,regex,angular,angular2-pipe,Javascript,Regex,Angular,Angular2 Pipe,我试图制作一个管道,将输入的文本与Regex匹配,然后显示逻辑。如果找不到,它不应该做任何事情 因此,正则表达式应该匹配m或multiple:n2 abc之类的内容,然后显示逻辑。假设关键字是: m n 2 abc-只有这些,而不是a-z或a-z 到目前为止我所做的: import {Pipe, PipeTransform} from '@angular/core'; @Pipe({name:'regMatch'}) export class RegMatch implements PipeT

我试图制作一个管道,将输入的文本与Regex匹配,然后显示逻辑。如果找不到,它不应该做任何事情

因此,正则表达式应该匹配m或multiple:n2 abc之类的内容,然后显示逻辑。假设关键字是:

m n 2 abc-只有这些,而不是a-z或a-z

到目前为止我所做的:

import {Pipe, PipeTransform} from '@angular/core';

@Pipe({name:'regMatch'})
export class RegMatch implements PipeTransform {
    transform(value: string, arg?: any): any {
      //CODE HERE  
    }
}
我该怎么做

谢谢

编辑:如果找到匹配项,则应使用Popover显示图像:


如果没有,请保持原样。

首先我必须说,我对angular2管道一无所知

但是,如果您只是在寻找一种JS方法来循环处理匹配项,那么可以使用以下正则表达式:\.+?\

这可以按如下方式使用:

var targetText = "(word1) other words (word2)";
var reg = new RegExp(/\((.+?)\)/);   
var result;
while((result = reg.exec(targetText)) !== null) {
    var matchedContents = result[1]; //this will be the inside of each set of ()
    console.log(matchedContents);
    //Outputs:
    //word1
    //word2
    //DO Something...
}

同样,我不确定管道以及如何将其专门用于您的案例,但我希望它能有所帮助。

您能解释一下显示逻辑的含义吗?另外,添加预期的输出。给我一点时间,我会编辑。好了,伙计,编辑: