我有正則表達式,我試圖匹配特定的函數參數。我希望能夠在語言包中以某種方式設計它們。正則表達式匹配多個元素
這裏是我想匹配的文本:
addFill(path:svgjs.Element, pattern:Pattern, docMaxSide:number) {
pathFillId(path)
}
在這個例子中,我想匹配從參數上寫着「路」,「模式」和「docMaxSide」。我想確保它不匹配第二行中的「path」(我稱之爲pathFillId)。
這裏是我當前的正則表達式:\(.*?(\w+):.*?\)
拆毀了
\(
找開括號
.*?
之前,它可能有東西,但括號
(\w+):
捕獲單詞之後冒號前
.*?
可能有冒號後面是更多的東西
\)
關閉的括號
現在,它只會匹配的第一個項目,「路徑」。但我需要它來匹配我上面提到的所有單詞。
更新:我應該更具體。它只應該匹配,如果它是一個函數參數。例如,我不想在以下內容中匹配path1
:var path1:string
。困難在於正則表達式只匹配parens之間的項目。
'(\ w +):'獲取匹配來自索引1的組。[DEMO](http://regex101.com/r/qO1vG7/1)。你在用什麼語言? – Braj 2014-10-10 18:14:00
Braj,看我的更新。 – isaachess 2014-10-10 19:44:59