我正在尝试创建一个正则表达式,用于标记以下格式的字符串: Program.EXE someparam:[[REG | HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows]] someotherparam [[DATA | User]] canbeanotherparam
我正在寻找的正则表达式是在我的字符串中获取所有[[REG | any text]] OR [[DATA | any text]]次出现。
我的主要问题是将每个实例视为单独的标记。 当尝试类似[[REG \ |。+]]之类的东西时,第一次出现[[和最后一次出现]]作为表达式边界。我想它与。+。
有关我在上面的例子中寻找的结果是: [REG | HKEY_LOCAL_MACHINE \ SOFTWARE \微软\窗户] [[DATA |用户]]
答案 0 :(得分:0)
默认情况下,中继器是贪婪的:
[[(REG|DATA)\|.+?]]
添加问号使其尽可能不合适,因此它会在“它可以找到”的第一个实例处停止。