2017-03-08 49 views
0

我正在嘗試使輸入的文本與Regex匹配,然後顯示邏輯。如果沒有找到,它不應該做任何事情。如何在Angular2中使用Regex製作管道?

因此,Regex應匹配類似(m)或多個:(n) (2) (abc)然後顯示邏輯。我們說的「關鍵詞」是:

(m) (n) (2) (abc) - 只有這些,不是a-zA-Z

我到目前爲止已經取得了什麼:

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

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

我怎樣才能做到這一點?

謝謝。

編輯:如果匹配被發現的圖像應該使用酥料餅顯示:https://github.com/pleerock/ng2-popover

如果不是,離開它,因爲它是。

+0

你能解釋一下_display logic_是什麼意思?另外,添加預期的輸出。 – Tushar

+0

給我一下,我會編輯。 –

+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... 
} 

同樣不太肯定管道以及如何可以專門用於您的情況,但我希望它能幫助。