用于标记参数列表(VBScript)的正则表达式

问题描述:

我试图创建一个正则表达式来标记以下格式的字符串: Program.EXE someparam:[[REG | HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows] ] someotherparam [[DATA | User]] couldbeanotherparam用于标记参数列表(VBScript)的正则表达式

我正在寻找的正则表达式是在我的字符串中获取所有[[REG |任何文本]]或[[DATA |任何文本]]出现次数。

我的主要问题是将每个实例视为单独的令牌。 尝试像[[REG \ |。+]]之类的东西时,它首次出现[[和最后出现的]]作为表达式边界。我想这跟这个。+有关。

我在上面的例子中寻找的结果是: [REG | HKEY_LOCAL_MACHINE \ SOFTWARE \微软\窗户] [数据|用户]

中继器是贪婪的默认:

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

添加问号使其尽可能不被认可,因此它会停止在“]]的第一个实例”它可以找到。

+0

太棒了,非常感谢。奇迹般有效。刚刚花在@#$%2小时! – Dani 2010-11-14 17:52:28

+0

不要以为你可以标志我是赢家? :d – 2010-11-14 17:55:28