我尝试制作一个与输入文本匹配的管道Regex
,然后显示逻辑。如果没有找到,它就不应该做任何事情。
因此,Regex
应匹配(m)
或多个(n) (2) (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显示图片: https://github.com/pleerock/ng2-popover
如果没有,请保持原样。
答案 0 :(得分:1)
首先,我必须说我对angular2-pipe一无所知。
但是,如果您只是寻找循环匹配来处理它们的JS方法,则可以使用此正则表达式:\((.+?)\)
(example)。
这可以像下面这样使用:
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...
}
我再一次不确定Pipes以及它如何专门用于您的情况,但我希望它有所帮助。