我正在使用正則表達式用於過濾的自動完成功能。該過濾器的代碼目前是如下:正則表達式過濾器angular2
filterStates(val: string) {
return val ? this.states.filter(s => new RegExp(`^${val}`, 'gi').test(s.name))
: this.states;
}
}
以上regex
運行良好的數據結構,如:
states=[{"name":"Alaska",code:1234},
{"name":"Bulgaria",code:12345},
{"name":"Colarado",code:12346},
{"name":"New Jersey",code:12347},
]
繼承人的工作plunker:https://plnkr.co/edit/Pf2pWeUYo2mt7VzwCDs2?p=preview
但現在人們在略有變化數據結構如下圖所示name
:
states=[{"name":"Alaska (AL)","code":1234},
{"name":"Bulgaria (BG)","code":12345},
{"name":"Colarado (CO)","code":12346},
{"name":"New Jersey (NJ)","code":12347},
]
我無法弄清楚如何爲name
生成regex
。當談到正則表達式時,我是一個完整的noob。
任何幫助將不勝感激。
此模式不起作用。它阻礙了正常的字符搜索。 –
是否有必要使用REGEX?因爲你可以簡單地使用自定義管道進行操作。 –
@WiktorStribiżew是的,只是看到了。它不工作。 –