2010-11-14 50 views
0

我試圖創建一個正則表達式來標記以下格式的字符串: Program.EXE someparam:[[REG | HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows] ] someotherparam [[DATA | User]] couldbeanotherparam用於標記參數列表(VBScript)的正則表達式

我正在尋找的正則表達式是在我的字符串中獲取所有[[REG |任何文本]]或[[DATA |任何文本]]出現次數。

我的主要問題是將每個實例視爲單獨的令牌。 嘗試像[[REG \ |。+]]之類的東西時,它首次出現[[和最後出現的]]作爲表達式邊界。我想這跟這個。+有關。

我在上面的例子中尋找的結果是: [REG | HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\窗戶] [數據|用戶]

回答

0

中繼器是貪婪的默認:

[[(REG|DATA)\|.+?]] 

添加問號使其儘可能不被認可,因此它會停止在「]]的第一個實例」它可以找到。

+0

太棒了,非常感謝。奇蹟般有效。剛剛花在@#$%2小時! – Dani 2010-11-14 17:52:28

+0

不要以爲你可以標誌我是贏家? :d – 2010-11-14 17:55:28