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

Regex 用于标记参数列表的正则表达式(VBScript),regex,vbscript,Regex,Vbscript,我正在尝试创建一个正则表达式,用于标记以下格式的字符串: Program.EXE someparam:[[REG | HKEY|u LOCAL_MACHINE\SOFTWARE\Microsoft\Windows]]someotherparam[[DATA | User]]可以是另一个参数 我要寻找的正则表达式是获取字符串中出现的所有[[REG | any text]]或[[DATA | any text]] 我的主要问题是将每个实例视为单独的令牌。 当尝试类似[[REG\|.+]]的内容时,它

我正在尝试创建一个正则表达式,用于标记以下格式的字符串: Program.EXE someparam:[[REG | HKEY|u LOCAL_MACHINE\SOFTWARE\Microsoft\Windows]]someotherparam[[DATA | User]]可以是另一个参数

我要寻找的正则表达式是获取字符串中出现的所有[[REG | any text]]或[[DATA | any text]]

我的主要问题是将每个实例视为单独的令牌。 当尝试类似[[REG\|.+]]的内容时,它会将[[和]]的第一次出现作为表达式边界。我想这一定是因为

我在上面的例子中寻找的结果是: [[REG | HKEY|U LOCAL_MACHINE\SOFTWARE\Microsoft\Windows]]
[[DATA | User]]

默认情况下,中继器是贪婪的:

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

添加问号会使它尽可能不敏感,因此它会在它能找到的]]的第一个实例中停止。

太棒了,非常感谢。工作起来很有魅力。刚刚花了@$%2个小时!